PluginManager<TPlugin extends Plugin> class abstract

A collection of Plugins with an optional DI host. When a host is provided, register installs each plugin into the host scope via host.installPlugin(plugin) — services, resources and child scopes the plugin sets up are torn down automatically on uninstall.

When host is null, plugins are accumulated for builder-style composition only (e.g. widget-tree decorators) and lifecycle is not driven.

Implementers

Constructors

PluginManager({DI? host, List<TPlugin> plugins = const []})

Properties

build → Function
no setter
hashCode → int
The hash code for this object.
no setterinherited
plugins → List<TPlugin>
final
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
register(TPlugin plugin) → Resolvable<Unit>
Adds plugin to this manager. If a host scope was provided, also installs the plugin into it.
registerAll(Iterable<TPlugin> plugins) → Resolvable<Unit>
Adds and (if a host was provided) installs every plugin in plugins, preserving order.
toString() → String
A string representation of this object.
inherited

Operators

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