DatabaseProtocolDeserializationProvider class abstract interface

Optional typed routing for generated database protocols.

Keeping the database contract in this interface preserves access to table methods when Dart infers a common type for different database protocols.

Implemented types
Implementers

Properties

deserializationMetadata → ProtocolDeserialization
Immutable typed handlers and module order for this protocol.
no setterinherited
hashCode → int
The hash code for this object.
no setterinherited
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited

Methods

decode<T>(String data, [Type? t]) → T
Decodes the provided json String to an object of type t or T.
inherited
decodeWithType(String data) → Object?
Decodes the provided json String if it has been encoded with encodeWithType.
inherited
deserialize<T>(dynamic data, [Type? t]) → T
Deserialize the provided json data to an object of type t or T.
inherited
deserializeByClassName(Map<String, dynamic> data) → dynamic
Deserialize the provided json data by using the className stored in the data.
inherited
deserializeDynamicFieldValue(Object? value) → dynamic
Decodes a value for a dynamic model field: a JSON object (Map) with className and data (see dynamicFieldToJson).
inherited
dynamicFieldToJson(Object? object, {bool forProtocol = false}) → Object?
Returns a JSON-encodable structure for a dynamic model field.
inherited
encodeWithType(Object? object, {bool formatted = false}) → String
Encode the provided object to a json-formatted String, include class name so that it can be decoded even if the class is unknown. If formatted is true, the output will be formatted with two spaces indentation.
inherited
encodeWithTypeForProtocol(Object? object, {bool formatted = false}) → String
Encode the provided object to a Json-formatted String, including the class name so that it can be decoded even if the class is unknown. If formatted is true, the output will be formatted with two spaces indentation. If object implements ProtocolSerialization interface, then toJsonForProtocol will be used instead of the toJson method.
inherited
getClassNameForObject(Object? data) → String?
Get the className for the provided object.
inherited
getModuleName() → String
The name of the module that defines the serialization.
inherited
getTableForType(Type t) → Table?
Maps Types to subclasses of Table.
inherited
getTargetTableDefinitions() → List<TableDefinition>
The desired structure of the database.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited
wrapWithClassName(Object? data) → Map<String, dynamic>
Wraps serialized data with its class name so that it can be deserialized with deserializeByClassName.
inherited

Operators

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