Package io.objectbox.flatbuffers
Class Table
java.lang.Object
io.objectbox.flatbuffers.Table
- Direct Known Subclasses:
ClusterPeerConfig,Credentials,FlatStoreOptions,JwtConfig,SyncServerOptions
All tables in the generated code derive from this class, and add their own accessors.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected ByteBufferThe underlying ByteBuffer to hold the data of the Table.protected intUsed to hold the position of the `bb` buffer. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected static boolean__has_identifier(ByteBuffer bb, String ident) Check if aByteBuffercontains a file identifier.protected int__indirect(int offset) Retrieve a relative offset.protected static int__indirect(int offset, 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, ByteBuffer bb) void__reset()Resets the internal state with a nullByteBufferand a zero position.protected void__reset(int _i, ByteBuffer _bb) Re-init the internal state with an external bufferByteBufferand an offset within.protected String__string(int offset) Create a Java `String` from UTF-8 data stored inside the FlatBuffer.protected static String__string(int offset, ByteBuffer bb, Utf8 utf8) Create a Java `String` from UTF-8 data stored inside the FlatBuffer.protected TableInitialize any Table-derived type to point to the union at the given `offset`.protected static Table__union(Table t, int offset, 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 ByteBuffer__vector_as_bytebuffer(int vector_offset, int elem_size) Get a whole vector as a ByteBuffer.protected ByteBuffer__vector_in_bytebuffer(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 intcompareStrings(int offset_1, byte[] key, ByteBuffer bb) Compare string from the buffer with the 'String' object.protected static intcompareStrings(int offset_1, int offset_2, ByteBuffer bb) Compare two strings in the buffer.Get the underlying ByteBuffer.protected intkeysCompare(Integer o1, Integer o2, ByteBuffer bb) Compare two tables by the key.protected voidsortTables(int[] offsets, ByteBuffer bb) Sort tables by the key.
-
Field Details
-
bb_pos
protected int bb_posUsed to hold the position of the `bb` buffer. -
bb
The underlying ByteBuffer to hold the data of the Table.
-
-
Constructor Details
-
Table
public Table()
-
-
Method Details
-
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
-
__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
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
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
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
Get a whole vector as a ByteBuffer. This is efficient, since it only allocates a newByteBufferobject, 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
ByteBufferfor the array
-
__vector_in_bytebuffer
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- TheByteBufferfor the arrayvector_offset- The position of the vector in the byte bufferelem_size- The size of each element in the array- Returns:
- The
ByteBufferfor the array
-
__union
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
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
Check if aByteBuffercontains a file identifier.- Parameters:
bb- AByteBufferto 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
Sort tables by the key.- Parameters:
offsets- An 'int' indexes of the tables into the bb.bb- AByteBufferto get the tables.
-
keysCompare
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- AByteBufferto get the keys.
-
compareStrings
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- AByteBufferto get the strings.
-
compareStrings
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- AByteBufferto get the first string.
-
__reset
Re-init the internal state with an external bufferByteBufferand an offset within. This method exists primarily to allow recycling Table instances without risking memory leaks due toByteBufferreferences. -
__reset
public void __reset()Resets the internal state with a nullByteBufferand a zero position. This method exists primarily to allow recycling Table instances without risking memory leaks due toByteBufferreferences. The instance will be unusable until it is assigned again to aByteBuffer.
-