OBXExternalPropertyType class sealed

A property type of an external system (e.g. another database) that has no default mapping to an ObjectBox type. External property types numeric values start at 100 to avoid overlaps with ObjectBox's PropertyType. (And if we ever support one of these as a primary type, we could share the numeric value?)

Properties

hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited

Constants

Bson → const int
Placeholder (not yet used) for a BSON document. Representing type: ByteVector
Decimal128 → const int
IEEE 754 decimal128 type, e.g. supported by MongoDB Representing type: ByteVector Encoding: 1:1 binary representation (16 bytes)
FlexMap → const int
A key/value map; e.g. corresponds to a JSON object or a MongoDB document (although not keeping the key order). Unlike the Flex type, this must contain a map value (e.g. not a vector or a scalar). Representing type: Flex Encoding: Flex
FlexVector → const int
A vector (aka list or array) of flexible elements; e.g. corresponds to a JSON array or a MongoDB array. Unlike the Flex type, this must contain a vector value (e.g. not a map or a scalar). Representing type: Flex Encoding: Flex
Int128 → const int
Representing type: ByteVector Encoding: 1:1 binary representation, little endian (16 bytes)
Int128Vector → const int
A vector (array) of Int128 values
JavaScript → const int
JavaScript source code Representing type: String
Json → const int
Placeholder (not yet used) for a JSON document. Representing type: String
JsonToNative → const int
A JSON string that is converted to a native representation in the external system. For example, a JSON object on the ObjectBox side (string) would be converted to an embedded document in MongoDB. It depends on the external system what kind of JSON structures is supported. For MongoDB, this is very flexible and allows (nested) objects, arrays, primitives, etc. Representing type: String
MongoBinary → const int
Representing type: ByteVector Encoding: 3 zero bytes (reserved, functions as padding), fourth byte is the sub-type, followed by the binary data.
MongoId → const int
The 12-byte ObjectId type in MongoDB Representing type: ByteVector Encoding: 1:1 binary representation (12 bytes)
MongoIdVector → const int
A vector (array) of MongoId values
MongoRegex → const int
Representing type: string vector with 2 elements (index 0: pattern, index 1: options) Encoding: 1:1 string representation
MongoTimestamp → const int
Representing type: Long Encoding: Two unsigned 32-bit integers merged into a 64-bit integer.
Unknown → const int
Not a real type: represents uninitialized state and can be used for forward compatibility.
Uuid → const int
A UUID (Universally Unique Identifier) as defined by RFC 9562. ObjectBox uses the UUIDv7 scheme (timestamp + random) to create new UUIDs. UUIDv7 is a good choice for database keys as it's mostly sequential and encodes a timestamp. However, if keys are used externally, consider UuidV4 for better privacy by not exposing any time information. Representing type: ByteVector Encoding: 1:1 binary representation (16 bytes)
UuidString → const int
UUID represented as a string of 36 characters, e.g. "019571b4-80e3-7516-a5c1-5f1053d23fff". For efficient storage, consider the Uuid type instead, which occupies only 16 bytes (20 bytes less). This type may still be a convenient alternative as the string type is widely supported and more human-readable. In accordance to standards, new UUIDs generated by ObjectBox use lowercase hexadecimal digits. Representing type: String
UuidV4 → const int
A UUID (Universally Unique Identifier) as defined by RFC 9562. ObjectBox uses the UUIDv4 scheme (completely random) to create new UUIDs. Representing type: ByteVector Encoding: 1:1 binary representation (16 bytes)
UuidV4String → const int
Like UuidString, but using the UUIDv4 scheme (completely random) to create new UUID. Representing type: String
UuidVector → const int
A vector (array) of Uuid values