DarwinPlugin class abstract

Extensions for darwin applications.

This is the base class for any plugin extensions. Each plugin can publish dependency injection modules by yielding them via collectModules and Services by yielding their ServiceDescriptor via collectServices.

All plugin instances are being directly bound to their respective type via a ConstantProvider, making them available via dependency injection for all services.

Plugins are loaded sorted naturally by their loadOrder value, although this just influences the order in which configure is called. Services published by the plugin still follow the usual service lifecycle.

Constructors

DarwinPlugin()

Properties

hashCode int
The hash code for this object.
no setterinherited
loadOrder int
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

collectModules() Stream<Module>
Returns additional dependency injection modules for the application.
collectServices() Stream<ServiceDescriptor>
Returns services defined by this plugin.
configure() Future
Configures and prepares the plugin before services are loaded.
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