Package io.objectbox.model
Class Model
- java.lang.Object
-
- io.objectbox.flatbuffers.Table
-
- io.objectbox.model.Model
-
public final class Model extends Table
A model describes all entities and other meta data. The current model of an app is synced against ObjectBox's persisted schema. The model itself is not persisted, and thus may change as long as both ends are consistent (Java and native). There could be multiple models/schemas (one dbi per schema) in the future.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classModel.Vector
-
Constructor Summary
Constructors Constructor Description Model()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Model__assign(int _i, java.nio.ByteBuffer _bb)void__init(int _i, java.nio.ByteBuffer _bb)static voidaddEntities(FlatBufferBuilder builder, int entitiesOffset)static voidaddHash(FlatBufferBuilder builder, int hashOffset)static voidaddLastEntityId(FlatBufferBuilder builder, int lastEntityIdOffset)static voidaddLastIndexId(FlatBufferBuilder builder, int lastIndexIdOffset)static voidaddLastRelationId(FlatBufferBuilder builder, int lastRelationIdOffset)static voidaddLastSequenceId(FlatBufferBuilder builder, int lastSequenceIdOffset)static voidaddModelVersion(FlatBufferBuilder builder, long modelVersion)static voidaddName(FlatBufferBuilder builder, int nameOffset)static voidaddVersion(FlatBufferBuilder builder, long version)static intcreateEntitiesVector(FlatBufferBuilder builder, int[] data)static intcreateHashVector(FlatBufferBuilder builder, byte[] data)static intcreateHashVector(FlatBufferBuilder builder, java.nio.ByteBuffer data)static intendModel(FlatBufferBuilder builder)ModelEntityentities(int j)ModelEntityentities(ModelEntity obj, int j)intentitiesLength()ModelEntity.VectorentitiesVector()ModelEntity.VectorentitiesVector(ModelEntity.Vector obj)static voidfinishModelBuffer(FlatBufferBuilder builder, int offset)static voidfinishSizePrefixedModelBuffer(FlatBufferBuilder builder, int offset)static ModelgetRootAsModel(java.nio.ByteBuffer _bb)static ModelgetRootAsModel(java.nio.ByteBuffer _bb, Model obj)inthash(int j)Hash of the model/schema; usually want to check hashes before even creating a model and thus avoiding creating the model altogether.java.nio.ByteBufferhashAsByteBuffer()java.nio.ByteBufferhashInByteBuffer(java.nio.ByteBuffer _bb)inthashLength()ByteVectorhashVector()ByteVectorhashVector(ByteVector obj)IdUidlastEntityId()IdUidlastEntityId(IdUid obj)IdUidlastIndexId()IdUidlastIndexId(IdUid obj)IdUidlastRelationId()IdUidlastRelationId(IdUid obj)IdUidlastSequenceId()IdUidlastSequenceId(IdUid obj)longmodelVersion()(Meta) version of the model, which is verified by model sync (e.g.java.lang.Stringname()currently always "default"java.nio.ByteBuffernameAsByteBuffer()java.nio.ByteBuffernameInByteBuffer(java.nio.ByteBuffer _bb)static voidstartEntitiesVector(FlatBufferBuilder builder, int numElems)static voidstartHashVector(FlatBufferBuilder builder, int numElems)static voidstartModel(FlatBufferBuilder builder)static voidValidateVersion()longversion()User controlled version, not really used at the moment-
Methods inherited from class io.objectbox.flatbuffers.Table
__has_identifier, __indirect, __indirect, __offset, __offset, __reset, __reset, __string, __string, __union, __union, __vector, __vector_as_bytebuffer, __vector_in_bytebuffer, __vector_len, compareStrings, compareStrings, getByteBuffer, keysCompare, sortTables
-
-
-
-
Method Detail
-
ValidateVersion
public static void ValidateVersion()
-
getRootAsModel
public static Model getRootAsModel(java.nio.ByteBuffer _bb)
-
__init
public void __init(int _i, java.nio.ByteBuffer _bb)
-
__assign
public Model __assign(int _i, java.nio.ByteBuffer _bb)
-
modelVersion
public long modelVersion()
(Meta) version of the model, which is verified by model sync (e.g. Java version must match native version)
-
name
public java.lang.String name()
currently always "default"
-
nameAsByteBuffer
public java.nio.ByteBuffer nameAsByteBuffer()
-
nameInByteBuffer
public java.nio.ByteBuffer nameInByteBuffer(java.nio.ByteBuffer _bb)
-
version
public long version()
User controlled version, not really used at the moment
-
entities
public ModelEntity entities(int j)
-
entities
public ModelEntity entities(ModelEntity obj, int j)
-
entitiesLength
public int entitiesLength()
-
entitiesVector
public ModelEntity.Vector entitiesVector()
-
entitiesVector
public ModelEntity.Vector entitiesVector(ModelEntity.Vector obj)
-
lastEntityId
public IdUid lastEntityId()
-
lastIndexId
public IdUid lastIndexId()
-
lastSequenceId
public IdUid lastSequenceId()
-
lastRelationId
public IdUid lastRelationId()
-
hash
public int hash(int j)
Hash of the model/schema; usually want to check hashes before even creating a model and thus avoiding creating the model altogether. But, at least for now, let language bindings provide it via the model optionally. We use SipHash 128 (16 bytes).
-
hashLength
public int hashLength()
-
hashVector
public ByteVector hashVector()
-
hashVector
public ByteVector hashVector(ByteVector obj)
-
hashAsByteBuffer
public java.nio.ByteBuffer hashAsByteBuffer()
-
hashInByteBuffer
public java.nio.ByteBuffer hashInByteBuffer(java.nio.ByteBuffer _bb)
-
startModel
public static void startModel(FlatBufferBuilder builder)
-
addModelVersion
public static void addModelVersion(FlatBufferBuilder builder, long modelVersion)
-
addName
public static void addName(FlatBufferBuilder builder, int nameOffset)
-
addVersion
public static void addVersion(FlatBufferBuilder builder, long version)
-
addEntities
public static void addEntities(FlatBufferBuilder builder, int entitiesOffset)
-
createEntitiesVector
public static int createEntitiesVector(FlatBufferBuilder builder, int[] data)
-
startEntitiesVector
public static void startEntitiesVector(FlatBufferBuilder builder, int numElems)
-
addLastEntityId
public static void addLastEntityId(FlatBufferBuilder builder, int lastEntityIdOffset)
-
addLastIndexId
public static void addLastIndexId(FlatBufferBuilder builder, int lastIndexIdOffset)
-
addLastSequenceId
public static void addLastSequenceId(FlatBufferBuilder builder, int lastSequenceIdOffset)
-
addLastRelationId
public static void addLastRelationId(FlatBufferBuilder builder, int lastRelationIdOffset)
-
addHash
public static void addHash(FlatBufferBuilder builder, int hashOffset)
-
createHashVector
public static int createHashVector(FlatBufferBuilder builder, byte[] data)
-
createHashVector
public static int createHashVector(FlatBufferBuilder builder, java.nio.ByteBuffer data)
-
startHashVector
public static void startHashVector(FlatBufferBuilder builder, int numElems)
-
endModel
public static int endModel(FlatBufferBuilder builder)
-
finishModelBuffer
public static void finishModelBuffer(FlatBufferBuilder builder, int offset)
-
finishSizePrefixedModelBuffer
public static void finishSizePrefixedModelBuffer(FlatBufferBuilder builder, int offset)
-
-