Class PropertyFlags

java.lang.Object
io.objectbox.model.PropertyFlags

public final class PropertyFlags extends Object
Bit-flags defining the behavior of properties. Note: Numbers indicate the bit position
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    If a date property has this flag (max.
    static final int
    64 bit long property (internally unsigned) representing the ID of the entity.
    static final int
    By defining an ID companion property, a special ID encoding scheme is activated involving this property.
    static final int
    Unused yet: Use a persisted sequence to enforce ID to rise monotonic (no ID reuse)
    static final int
    Allow IDs to be assigned by the developer
    static final int
    Index uses a 32 bit hash instead of the value.
    static final int
    Index uses a 64 bit hash instead of the value.
    static final int
    Unused yet
    static final int
    Unused yet in user land.
    static final int
     
    static final int
    On languages like Java, a non-primitive type is used (aka wrapper types, allowing null)
    static final int
    Unused yet
    static final int
    Unused yet
    static final int
    Unique index
    static final int
    Unique on-conflict strategy: the object being put replaces any existing conflicting object (deletes it).
    static final int
    Unused yet: While our default are signed ints, queries and indexes need do know signing info.
    static final int
    Virtual properties may not have a dedicated field in their entity class, e.g.
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ID

      public static final int ID
      64 bit long property (internally unsigned) representing the ID of the entity. May be combined with: NON_PRIMITIVE_TYPE, ID_MONOTONIC_SEQUENCE, ID_SELF_ASSIGNABLE.
      See Also:
    • NON_PRIMITIVE_TYPE

      public static final int NON_PRIMITIVE_TYPE
      On languages like Java, a non-primitive type is used (aka wrapper types, allowing null)
      See Also:
    • NOT_NULL

      public static final int NOT_NULL
      Unused yet
      See Also:
    • INDEXED

      public static final int INDEXED
      See Also:
    • RESERVED

      public static final int RESERVED
      Unused yet
      See Also:
    • UNIQUE

      public static final int UNIQUE
      Unique index
      See Also:
    • ID_MONOTONIC_SEQUENCE

      public static final int ID_MONOTONIC_SEQUENCE
      Unused yet: Use a persisted sequence to enforce ID to rise monotonic (no ID reuse)
      See Also:
    • ID_SELF_ASSIGNABLE

      public static final int ID_SELF_ASSIGNABLE
      Allow IDs to be assigned by the developer
      See Also:
    • INDEX_PARTIAL_SKIP_NULL

      public static final int INDEX_PARTIAL_SKIP_NULL
      Unused yet
      See Also:
    • INDEX_PARTIAL_SKIP_ZERO

      public static final int INDEX_PARTIAL_SKIP_ZERO
      Unused yet in user land. Used internally by relations for 1) backlinks and 2) to clear references to deleted objects (required for ID reuse).
      See Also:
    • VIRTUAL

      public static final int VIRTUAL
      Virtual properties may not have a dedicated field in their entity class, e.g. target IDs of to-one relations
      See Also:
    • INDEX_HASH

      public static final int INDEX_HASH
      Index uses a 32 bit hash instead of the value. 32 bit is the default hash size because: they take less disk space, run well on 32 bit systems, and also run quite well on 64 bit systems (especially for small to medium sized values). and should be OK even with a few collisions.
      See Also:
    • INDEX_HASH64

      public static final int INDEX_HASH64
      Index uses a 64 bit hash instead of the value. Recommended mostly for 64 bit machines with values longer than 200 bytes; small values are faster with a 32 bit hash even on 64 bit machines.
      See Also:
    • UNSIGNED

      public static final int UNSIGNED
      Unused yet: While our default are signed ints, queries and indexes need do know signing info. Note: Don't combine with ID (IDs are always unsigned internally).
      See Also:
    • ID_COMPANION

      public static final int ID_COMPANION
      By defining an ID companion property, a special ID encoding scheme is activated involving this property. For Time Series IDs, a companion property of type Date or DateNano represents the exact timestamp. (In the future, ID companion string properties may be added as another supported type).
      See Also:
    • UNIQUE_ON_CONFLICT_REPLACE

      public static final int UNIQUE_ON_CONFLICT_REPLACE
      Unique on-conflict strategy: the object being put replaces any existing conflicting object (deletes it).
      See Also:
    • EXPIRATION_TIME

      public static final int EXPIRATION_TIME
      If a date property has this flag (max. one per entity type), the date value specifies the time by which the object expires, at which point it MAY be deleted. There's no strict guarantee when the deletion happens. However, the deletion process can be triggered by an API call.
      See Also:
  • Constructor Details

    • PropertyFlags

      private PropertyFlags()