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.
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.