Package io.objectbox.model
Class PropertyFlags
java.lang.Object
io.objectbox.model.PropertyFlags
Bit-flags defining the behavior of properties.
Note: Numbers indicate the bit position
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intIf a date property has this flag (max.static final int64 bit long property (internally unsigned) representing the ID of the entity.static final intBy defining an ID companion property, a special ID encoding scheme is activated involving this property.static final intUnused yet: Use a persisted sequence to enforce ID to rise monotonic (no ID reuse)static final intAllow IDs to be assigned by the developerstatic final intIndex uses a 32 bit hash instead of the value.static final intIndex uses a 64 bit hash instead of the value.static final intUnused yetstatic final intUnused yet in user land.static final intstatic final intOn languages like Java, a non-primitive type is used (aka wrapper types, allowing null)static final intUnused yetstatic final intUnused yetstatic final intUnique indexstatic final intUnique on-conflict strategy: the object being put replaces any existing conflicting object (deletes it).static final intUnused yet: While our default are signed ints, queries and indexes need do know signing info.static final intVirtual properties may not have a dedicated field in their entity class, e.g. -
Constructor Summary
Constructors -
Method Summary
-
Field Details
-
ID
public static final int ID64 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_TYPEOn languages like Java, a non-primitive type is used (aka wrapper types, allowing null)- See Also:
-
NOT_NULL
public static final int NOT_NULLUnused yet- See Also:
-
INDEXED
public static final int INDEXED- See Also:
-
RESERVED
public static final int RESERVEDUnused yet- See Also:
-
UNIQUE
public static final int UNIQUEUnique index- See Also:
-
ID_MONOTONIC_SEQUENCE
public static final int ID_MONOTONIC_SEQUENCEUnused 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_ASSIGNABLEAllow IDs to be assigned by the developer- See Also:
-
INDEX_PARTIAL_SKIP_NULL
public static final int INDEX_PARTIAL_SKIP_NULLUnused yet- See Also:
-
INDEX_PARTIAL_SKIP_ZERO
public static final int INDEX_PARTIAL_SKIP_ZEROUnused 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 VIRTUALVirtual 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_HASHIndex 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_HASH64Index 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 UNSIGNEDUnused 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_COMPANIONBy 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_REPLACEUnique on-conflict strategy: the object being put replaces any existing conflicting object (deletes it).- See Also:
-
EXPIRATION_TIME
public static final int EXPIRATION_TIMEIf 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()
-