loadFromConfig method
Loads cache configuration and registers drivers. Throws CacheException if configuration is invalid.
Implementation
@override
void loadFromConfig(ConfigInterface config, ICacheDriverRegistry registry) {
try {
final driverConfigs = config.get<Map>('cache.drivers') ?? {};
final defaultDriverName = config.get<String>('cache.default') ?? 'memory';
// Load all configured drivers
driverConfigs.forEach((name, settings) {
final driver = createDriverFromConfig(
settings['driver'] as String? ?? 'memory',
settings as Map<String, dynamic>,
);
registry.registerDriver(name as String, driver);
});
// Register default memory driver if no drivers configured
if (registry.getDriverNames().isEmpty) {
registry.registerDriver('memory', MemoryCacheDriver());
}
// Set default driver
registry.setDefaultDriver(defaultDriverName);
} catch (e) {
throw CacheException('Failed to load cache configuration: $e');
}
}