Class Table

java.lang.Object
io.objectbox.flatbuffers.Table
Direct Known Subclasses:
ClusterPeerConfig, Credentials, FlatStoreOptions, JwtConfig, SyncServerOptions

public class Table extends Object
All tables in the generated code derive from this class, and add their own accessors.
  • Field Details

    • bb_pos

      protected int bb_pos
      Used to hold the position of the `bb` buffer.
    • bb

      protected ByteBuffer bb
      The underlying ByteBuffer to hold the data of the Table.
  • Constructor Details

    • Table

      public Table()
  • Method Details

    • getByteBuffer

      public 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, 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, 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 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 String __string(int offset, 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 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 new ByteBuffer 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 buffer
      elem_size - The size of each element in the array
      Returns:
      The ByteBuffer for the array
    • __vector_in_bytebuffer

      protected ByteBuffer __vector_in_bytebuffer(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 new ByteBuffer, creating no garbage to be collected.
      Parameters:
      bb - The ByteBuffer for the array
      vector_offset - The position of the vector in the byte buffer
      elem_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, 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(ByteBuffer bb, String ident)
      Check if a ByteBuffer contains a file identifier.
      Parameters:
      bb - A ByteBuffer 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, ByteBuffer bb)
      Sort tables by the key.
      Parameters:
      offsets - An 'int' indexes of the tables into the bb.
      bb - A ByteBuffer to get the tables.
    • keysCompare

      protected int keysCompare(Integer o1, Integer o2, 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 - A ByteBuffer to get the keys.
    • compareStrings

      protected static int compareStrings(int offset_1, int offset_2, 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 - A ByteBuffer to get the strings.
    • compareStrings

      protected static int compareStrings(int offset_1, byte[] key, 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 - A ByteBuffer to get the first string.
    • __reset

      protected void __reset(int _i, ByteBuffer _bb)
      Re-init the internal state with an external buffer ByteBuffer and an offset within. This method exists primarily to allow recycling Table instances without risking memory leaks due to ByteBuffer references.
    • __reset

      public void __reset()
      Resets the internal state with a null ByteBuffer and a zero position. This method exists primarily to allow recycling Table instances without risking memory leaks due to ByteBuffer references. The instance will be unusable until it is assigned again to a ByteBuffer.