package com.qianwen.core.notify;
|
|
import java.util.Map;
|
import java.util.concurrent.ConcurrentHashMap;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import com.qianwen.core.notify.notifier.NotifierProvider;
|
import org.springframework.beans.BeansException;
|
import org.springframework.beans.factory.config.BeanPostProcessor;
|
import org.springframework.stereotype.Component;
|
|
@Component
|
/* loaded from: blade-starter-notify-9.3.0.0-SNAPSHOT.jar:org/springblade/core/notify/NotifierProvidersMapManager.class */
|
public class NotifierProvidersMapManager implements BeanPostProcessor {
|
private static final Logger log = LoggerFactory.getLogger(NotifierProvidersMapManager.class);
|
private final Map<String, Map<String, NotifierProvider>> providers = new ConcurrentHashMap();
|
|
public Map<String, Map<String, NotifierProvider>> getProviders() {
|
return this.providers;
|
}
|
|
private void registerNotifierProvider(NotifierProvider notifierProvider) {
|
this.providers.computeIfAbsent(notifierProvider.getType().getId(), ignore -> {
|
return new ConcurrentHashMap();
|
}).put(notifierProvider.getProvider().getId(), notifierProvider);
|
}
|
|
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
|
if (bean instanceof NotifierProvider) {
|
NotifierProvider temp = (NotifierProvider) bean;
|
registerNotifierProvider(temp);
|
}
|
return bean;
|
}
|
}
|