ModelRegistry class
Registry that stores ModelDefinition objects by model type and name.
A ModelRegistry is used by QueryContext and DataSource to resolve model metadata at runtime.
Generated .orm.dart files typically register definitions on startup,
and DataSource.init registers the definitions provided in
DataSourceOptions.entities.
final registry = ModelRegistry();
registry.register<$User>($UserOrmDefinition.definition);
final userDef = registry.expect<$User>();
print(userDef.tableName);
- Available extensions
Constructors
Properties
-
allDefinitions
→ List<
ModelDefinition< OrmEntity> > -
Returns all registered model definitions, deduplicated by model name.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
-
onRegistered
→ Stream<
ModelDefinition< OrmEntity> > -
Stream of definitions as they are registered.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
-
values
→ Iterable<
ModelDefinition< OrmEntity> > -
Iterable view of the registered definitions keyed by type.
no setter
Methods
-
addOnRegisteredCallback(
void callback(ModelDefinition< OrmEntity> )) → void - Registers a callback that is invoked when a definition is registered.
-
contains<
T> () → bool -
Whether a definition is registered for
T. -
expect<
T extends OrmEntity> () → ModelDefinition< T> -
Returns the registered ModelDefinition for
Tor throws. -
expectByName(
String name) → ModelDefinition< OrmEntity> -
Returns the model definition registered under
nameor throws. -
expectByTableName(
String tableName) → ModelDefinition< OrmEntity> -
Returns the model definition for the given
tableNameor throws. -
expectByType(
Type type) → ModelDefinition< OrmEntity> -
Returns the registered ModelDefinition for a runtime
typeor throws. -
findByTableName(
String tableName) → ModelDefinition< OrmEntity> ? -
Returns the model definition for the given
tableName, or null if not found. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
register<
T extends OrmEntity> (ModelDefinition< T> definition) → void -
Registers
definitionfor typeT. -
registerAlias<
T extends OrmEntity> (ModelDefinition< T> base, {required String aliasModelName, String? tableName, String? schema}) → ModelDefinition<T> -
Creates and registers an alias definition for
baseunderaliasModelName. -
registerAll(
Iterable< ModelDefinition< definitions) → voidOrmEntity> > - Registers many model definitions.
-
registerModel<
TModel extends Model< (TModel> >ModelDefinition< TModel> definition) → ModelRegistry -
Available on ModelRegistry, provided by the ModelRegistryX extension
Fluent helper for registering definitions tied to Model subclasses. -
registerMorphAlias(
String alias, Type modelType) → void - Registers a morph type alias for a model type.
-
registerMorphMap(
Map< String, Type> aliases) → void - Registers a morph map of aliases to model types.
-
registerTypeAlias<
T extends OrmEntity> (ModelDefinition< OrmEntity> existingDefinition) → void - Registers a type alias that points to an existing definition.
-
resolveMorphDefinition(
String aliasOrModelName) → ModelDefinition< OrmEntity> - Resolves a morph alias or model name to a registered model definition.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited