Class ModelProperty

java.lang.Object
io.objectbox.flatbuffers.Table
io.objectbox.model.ModelProperty

public final class ModelProperty extends Table
  • Constructor Details

    • ModelProperty

      public ModelProperty()
  • Method Details

    • ValidateVersion

      public static void ValidateVersion()
    • getRootAsModelProperty

      public static ModelProperty getRootAsModelProperty(ByteBuffer _bb)
    • getRootAsModelProperty

      public static ModelProperty getRootAsModelProperty(ByteBuffer _bb, ModelProperty obj)
    • __init

      public void __init(int _i, ByteBuffer _bb)
    • __assign

      public ModelProperty __assign(int _i, ByteBuffer _bb)
    • id

      public IdUid id()
    • id

      public IdUid id(IdUid obj)
    • name

      public String name()
    • nameAsByteBuffer

      public ByteBuffer nameAsByteBuffer()
    • nameInByteBuffer

      public ByteBuffer nameInByteBuffer(ByteBuffer _bb)
    • type

      public int type()
    • flags

      public long flags()
      bit flags: e.g. indexed, not-nullable
    • indexId

      public IdUid indexId()
    • indexId

      public IdUid indexId(IdUid obj)
    • targetEntity

      public String targetEntity()
      For relations only: name of the target entity (will be replaced by "target entity ID" at the schema level)
    • targetEntityAsByteBuffer

      public ByteBuffer targetEntityAsByteBuffer()
    • targetEntityInByteBuffer

      public ByteBuffer targetEntityInByteBuffer(ByteBuffer _bb)
    • virtualTarget

      public String virtualTarget()
      This will probably move out of the core model into something binding specific. A virtual property's "target name" typically references an existing field in the entity at the language level of the binding. In contrast to this, the virtual property (via model "name") does not exist in the entity at the language level (thus virtual), but in ObjectBox's core DB. Example: consider a Java entity which has a ToOne (a Java specific relation wrapper) member called "parent". ObjectBox core is unaware of that ToOne, but works with the "parentId" relation property, which in turn does not exist in the Java entity. The mapping between "parentId" and "parent" is done by our JNI binding.
    • virtualTargetAsByteBuffer

      public ByteBuffer virtualTargetAsByteBuffer()
    • virtualTargetInByteBuffer

      public ByteBuffer virtualTargetInByteBuffer(ByteBuffer _bb)
    • nameSecondary

      public String nameSecondary()
      Secondary name ignored by core; e.g. may reference a binding specific name (e.g. Java property)
    • nameSecondaryAsByteBuffer

      public ByteBuffer nameSecondaryAsByteBuffer()
    • nameSecondaryInByteBuffer

      public ByteBuffer nameSecondaryInByteBuffer(ByteBuffer _bb)
    • maxIndexValueLength

      public long maxIndexValueLength()
      For value-based indexes, this defines the maximum length of the value stored for indexing
    • hnswParams

      public HnswParams hnswParams()
      For float vectors properties and nearest neighbor search, you can index the property with HNSW. This is the configuration for the HNSW index, e.g. dimensions and parameters affecting quality/speed tradeoff.
    • hnswParams

      public HnswParams hnswParams(HnswParams obj)
    • startModelProperty

      public static void startModelProperty(FlatBufferBuilder builder)
    • addId

      public static void addId(FlatBufferBuilder builder, int idOffset)
    • addName

      public static void addName(FlatBufferBuilder builder, int nameOffset)
    • addType

      public static void addType(FlatBufferBuilder builder, int type)
    • addFlags

      public static void addFlags(FlatBufferBuilder builder, long flags)
    • addIndexId

      public static void addIndexId(FlatBufferBuilder builder, int indexIdOffset)
    • addTargetEntity

      public static void addTargetEntity(FlatBufferBuilder builder, int targetEntityOffset)
    • addVirtualTarget

      public static void addVirtualTarget(FlatBufferBuilder builder, int virtualTargetOffset)
    • addNameSecondary

      public static void addNameSecondary(FlatBufferBuilder builder, int nameSecondaryOffset)
    • addMaxIndexValueLength

      public static void addMaxIndexValueLength(FlatBufferBuilder builder, long maxIndexValueLength)
    • addHnswParams

      public static void addHnswParams(FlatBufferBuilder builder, int hnswParamsOffset)
    • endModelProperty

      public static int endModelProperty(FlatBufferBuilder builder)