PluginDescriptor class final
A descriptor for configuring the plugin system in a Vyuh application.
The PluginDescriptor manages the registration and initialization of all plugins in the application. It ensures that plugins are loaded in the correct order and provides type-safe access to plugin instances.
Plugins are organized into several categories:
- Core System Plugins:
- DIPlugin: Dependency injection
- ContentPlugin: Content management
- AnalyticsPlugin: User analytics
- TelemetryPlugin: Application telemetry
- NetworkPlugin: Network communication
- NavigationPlugin: Routing and navigation
- EnvPlugin: Environment configuration
- EventPlugin: Event system
- StoragePlugin: Data persistence
- SecureStoragePlugin: Secure Data persistence
- Custom Plugins: Additional plugins via
others
Each plugin type has a default implementation that is used if not explicitly provided. Custom implementations can be provided for any plugin type.
Example:
final plugins = PluginDescriptor(
analytics: MyCustomAnalyticsPlugin(),
auth: MyCustomAuthPlugin(),
others: [MyCustomPlugin()],
);
The initialization order of plugins is managed automatically based on their dependencies. Core system plugins are initialized first, followed by custom plugins in the order they are provided.
Constructors
-
PluginDescriptor.new({DIPlugin? di, ContentPlugin? content, AnalyticsPlugin? analytics, TelemetryPlugin? telemetry, NetworkPlugin? network, AuthPlugin? auth, EnvPlugin? env, EventPlugin? event, StoragePlugin? storage, SecureStoragePlugin? secureStorage, List<
Plugin> ? others})
Properties
Methods
-
get<
T extends Plugin> () → T? -
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
Static Properties
- system → PluginDescriptor
-
final
-
systemPluginTypes
→ List<
Type> -
final