ExternalPropertyType enum

A property type of an external system (e.g. another database) that has no default mapping to an ObjectBox type.

Use with ExternalType.

Inheritance
Available extensions

Values

int128 → const ExternalPropertyType

Representing type: ByteVector

Encoding: 1:1 binary representation, little endian (16 bytes)

uuid → const ExternalPropertyType

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)

decimal128 → const ExternalPropertyType

IEEE 754 decimal128 type, e.g. supported by MongoDB.

Representing type: ByteVector

Encoding: 1:1 binary representation (16 bytes)

uuidString → const ExternalPropertyType

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 ExternalPropertyType

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 ExternalPropertyType

Like uuidString, but using the UUIDv4 scheme (completely random) to create new UUID.

Representing type: String

flexMap → const ExternalPropertyType

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 ExternalPropertyType

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

json → const ExternalPropertyType

Placeholder (not yet used) for a JSON document.

Representing type: String

bson → const ExternalPropertyType

Placeholder (not yet used) for a BSON document.

Representing type: ByteVector

javaScript → const ExternalPropertyType

JavaScript source code.

Representing type: String

jsonToNative → const ExternalPropertyType

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

int128Vector → const ExternalPropertyType

A vector (array) of Int128 values.

uuidVector → const ExternalPropertyType

A vector (array) of Uuid values

mongoId → const ExternalPropertyType

The 12-byte ObjectId type in MongoDB.

Representing type: ByteVector

Encoding: 1:1 binary representation (12 bytes)

mongoIdVector → const ExternalPropertyType

A vector (array) of MongoId values.

mongoTimestamp → const ExternalPropertyType

Representing type: Long

Encoding: Two unsigned 32-bit integers merged into a 64-bit integer.

mongoBinary → const ExternalPropertyType

Representing type: ByteVector

Encoding: 3 zero bytes (reserved, functions as padding), fourth byte is the sub-type, followed by the binary data.

mongoRegex → const ExternalPropertyType

Representing type: string vector with 2 elements (index 0: pattern, index 1: options)

Encoding: 1:1 string representation

Properties

hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
name String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
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

values → const List<ExternalPropertyType>
A constant List of the values in this enum, in order of their declaration.