Package io.objectbox.flatbuffers
Class Table
- java.lang.Object
-
- io.objectbox.flatbuffers.Table
-
public class Table extends java.lang.Object
All tables in the generated code derive from this class, and add their own accessors.
-
-
Constructor Summary
Constructors Constructor Description Table()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static boolean
__has_identifier(java.nio.ByteBuffer bb, java.lang.String ident)
Check if aByteBuffer
contains a file identifier.protected int
__indirect(int offset)
Retrieve a relative offset.protected static int
__indirect(int offset, java.nio.ByteBuffer bb)
Retrieve a relative offset.protected int
__offset(int vtable_offset)
Look up a field in the vtable.protected static int
__offset(int vtable_offset, int offset, java.nio.ByteBuffer bb)
void
__reset()
Resets the internal state with a nullByteBuffer
and a zero position.protected void
__reset(int _i, java.nio.ByteBuffer _bb)
Re-init the internal state with an external bufferByteBuffer
and an offset within.protected java.lang.String
__string(int offset)
Create a Java `String` from UTF-8 data stored inside the FlatBuffer.protected static java.lang.String
__string(int offset, java.nio.ByteBuffer bb, Utf8 utf8)
Create a Java `String` from UTF-8 data stored inside the FlatBuffer.protected Table
__union(Table t, int offset)
Initialize any Table-derived type to point to the union at the given `offset`.protected static Table
__union(Table t, int offset, java.nio.ByteBuffer bb)
Initialize any Table-derived type to point to the union at the given `offset`.protected int
__vector(int offset)
Get the start data of a vector.protected java.nio.ByteBuffer
__vector_as_bytebuffer(int vector_offset, int elem_size)
Get a whole vector as a ByteBuffer.protected java.nio.ByteBuffer
__vector_in_bytebuffer(java.nio.ByteBuffer bb, int vector_offset, int elem_size)
Initialize vector as a ByteBuffer.protected int
__vector_len(int offset)
Get the length of a vector.protected static int
compareStrings(int offset_1, byte[] key, java.nio.ByteBuffer bb)
Compare string from the buffer with the 'String' object.protected static int
compareStrings(int offset_1, int offset_2, java.nio.ByteBuffer bb)
Compare two strings in the buffer.java.nio.ByteBuffer
getByteBuffer()
Get the underlying ByteBuffer.protected int
keysCompare(java.lang.Integer o1, java.lang.Integer o2, java.nio.ByteBuffer bb)
Compare two tables by the key.protected void
sortTables(int[] offsets, java.nio.ByteBuffer bb)
Sort tables by the key.
-
-
-
Method Detail
-
getByteBuffer
public java.nio.ByteBuffer getByteBuffer()
Get the underlying ByteBuffer.- Returns:
- Returns the Table's ByteBuffer.
-
__offset
protected int __offset(int vtable_offset)
Look up a field in the vtable.- Parameters:
vtable_offset
- An `int` offset to the vtable in the Table's ByteBuffer.- Returns:
- Returns an offset into the object, or `0` if the field is not present.
-
__offset
protected static int __offset(int vtable_offset, int offset, java.nio.ByteBuffer bb)
-
__indirect
protected int __indirect(int offset)
Retrieve a relative offset.- Parameters:
offset
- An `int` index into the Table's ByteBuffer containing the relative offset.- Returns:
- Returns the relative offset stored at `offset`.
-
__indirect
protected static int __indirect(int offset, java.nio.ByteBuffer bb)
Retrieve a relative offset.- Parameters:
offset
- An `int` index into a ByteBuffer containing the relative offset.bb
- from which the relative offset will be retrieved.- Returns:
- Returns the relative offset stored at `offset`.
-
__string
protected java.lang.String __string(int offset)
Create a Java `String` from UTF-8 data stored inside the FlatBuffer. This allocates a new string and converts to wide chars upon each access, which is not very efficient. Instead, each FlatBuffer string also comes with an accessor based on __vector_as_bytebuffer below, which is much more efficient, assuming your Java program can handle UTF-8 data directly.- Parameters:
offset
- An `int` index into the Table's ByteBuffer.- Returns:
- Returns a `String` from the data stored inside the FlatBuffer at `offset`.
-
__string
protected static java.lang.String __string(int offset, java.nio.ByteBuffer bb, Utf8 utf8)
Create a Java `String` from UTF-8 data stored inside the FlatBuffer. This allocates a new string and converts to wide chars upon each access, which is not very efficient. Instead, each FlatBuffer string also comes with an accessor based on __vector_as_bytebuffer below, which is much more efficient, assuming your Java program can handle UTF-8 data directly.- Parameters:
offset
- An `int` index into the Table's ByteBuffer.bb
- Table ByteBuffer used to read a string at given offset.utf8
- decoder that creates a Java `String` from UTF-8 characters.- Returns:
- Returns a `String` from the data stored inside the FlatBuffer at `offset`.
-
__vector_len
protected int __vector_len(int offset)
Get the length of a vector.- Parameters:
offset
- An `int` index into the Table's ByteBuffer.- Returns:
- Returns the length of the vector whose offset is stored at `offset`.
-
__vector
protected int __vector(int offset)
Get the start data of a vector.- Parameters:
offset
- An `int` index into the Table's ByteBuffer.- Returns:
- Returns the start of the vector data whose offset is stored at `offset`.
-
__vector_as_bytebuffer
protected java.nio.ByteBuffer __vector_as_bytebuffer(int vector_offset, int elem_size)
Get a whole vector as a ByteBuffer. This is efficient, since it only allocates a newByteBuffer
object, but does not actually copy the data, it still refers to the same bytes as the original ByteBuffer. Also useful with nested FlatBuffers, etc.- Parameters:
vector_offset
- The position of the vector in the byte bufferelem_size
- The size of each element in the array- Returns:
- The
ByteBuffer
for the array
-
__vector_in_bytebuffer
protected java.nio.ByteBuffer __vector_in_bytebuffer(java.nio.ByteBuffer bb, int vector_offset, int elem_size)
Initialize vector as a ByteBuffer. This is more efficient than using duplicate, since it doesn't copy the data nor allocattes a newByteBuffer
, creating no garbage to be collected.- Parameters:
bb
- TheByteBuffer
for the arrayvector_offset
- The position of the vector in the byte bufferelem_size
- The size of each element in the array- Returns:
- The
ByteBuffer
for the array
-
__union
protected Table __union(Table t, int offset)
Initialize any Table-derived type to point to the union at the given `offset`.- Parameters:
t
- A `Table`-derived type that should point to the union at `offset`.offset
- An `int` index into the Table's ByteBuffer.- Returns:
- Returns the Table that points to the union at `offset`.
-
__union
protected static Table __union(Table t, int offset, java.nio.ByteBuffer bb)
Initialize any Table-derived type to point to the union at the given `offset`.- Parameters:
t
- A `Table`-derived type that should point to the union at `offset`.offset
- An `int` index into the Table's ByteBuffer.bb
- Table ByteBuffer used to initialize the object Table-derived type.- Returns:
- Returns the Table that points to the union at `offset`.
-
__has_identifier
protected static boolean __has_identifier(java.nio.ByteBuffer bb, java.lang.String ident)
Check if aByteBuffer
contains a file identifier.- Parameters:
bb
- AByteBuffer
to check if it contains the identifier `ident`.ident
- A `String` identifier of the FlatBuffer file.- Returns:
- True if the buffer contains the file identifier
-
sortTables
protected void sortTables(int[] offsets, java.nio.ByteBuffer bb)
Sort tables by the key.- Parameters:
offsets
- An 'int' indexes of the tables into the bb.bb
- AByteBuffer
to get the tables.
-
keysCompare
protected int keysCompare(java.lang.Integer o1, java.lang.Integer o2, java.nio.ByteBuffer bb)
Compare two tables by the key.- Parameters:
o1
- An 'Integer' index of the first key into the bb.o2
- An 'Integer' index of the second key into the bb.bb
- AByteBuffer
to get the keys.
-
compareStrings
protected static int compareStrings(int offset_1, int offset_2, java.nio.ByteBuffer bb)
Compare two strings in the buffer.- Parameters:
offset_1
- An 'int' index of the first string into the bb.offset_2
- An 'int' index of the second string into the bb.bb
- AByteBuffer
to get the strings.
-
compareStrings
protected static int compareStrings(int offset_1, byte[] key, java.nio.ByteBuffer bb)
Compare string from the buffer with the 'String' object.- Parameters:
offset_1
- An 'int' index of the first string into the bb.key
- Second string as a byte array.bb
- AByteBuffer
to get the first string.
-
__reset
protected void __reset(int _i, java.nio.ByteBuffer _bb)
Re-init the internal state with an external bufferByteBuffer
and an offset within. This method exists primarily to allow recycling Table instances without risking memory leaks due toByteBuffer
references.
-
__reset
public void __reset()
Resets the internal state with a nullByteBuffer
and a zero position. This method exists primarily to allow recycling Table instances without risking memory leaks due toByteBuffer
references. The instance will be unusable until it is assigned again to aByteBuffer
.
-
-