Class ModelProperty


  • public final class ModelProperty
    extends Table
    • Constructor Detail

      • ModelProperty

        public ModelProperty()
    • Method Detail

      • ValidateVersion

        public static void ValidateVersion()
      • getRootAsModelProperty

        public static ModelProperty getRootAsModelProperty​(java.nio.ByteBuffer _bb)
      • __init

        public void __init​(int _i,
                           java.nio.ByteBuffer _bb)
      • __assign

        public ModelProperty __assign​(int _i,
                                      java.nio.ByteBuffer _bb)
      • name

        public java.lang.String name()
      • nameAsByteBuffer

        public java.nio.ByteBuffer nameAsByteBuffer()
      • nameInByteBuffer

        public java.nio.ByteBuffer nameInByteBuffer​(java.nio.ByteBuffer _bb)
      • type

        public int type()
      • flags

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

        public IdUid indexId()
      • targetEntity

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

        public java.nio.ByteBuffer targetEntityAsByteBuffer()
      • targetEntityInByteBuffer

        public java.nio.ByteBuffer targetEntityInByteBuffer​(java.nio.ByteBuffer _bb)
      • virtualTarget

        public java.lang.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 java.nio.ByteBuffer virtualTargetAsByteBuffer()
      • virtualTargetInByteBuffer

        public java.nio.ByteBuffer virtualTargetInByteBuffer​(java.nio.ByteBuffer _bb)
      • nameSecondary

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

        public java.nio.ByteBuffer nameSecondaryAsByteBuffer()
      • nameSecondaryInByteBuffer

        public java.nio.ByteBuffer nameSecondaryInByteBuffer​(java.nio.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.
      • startModelProperty

        public static void startModelProperty​(FlatBufferBuilder builder)
      • addName

        public static void addName​(FlatBufferBuilder builder,
                                   int nameOffset)
      • 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)