| 123456789101112131415161718192021222324 |
- package cz.senslog.watchdog.messagebroker;
- import cz.senslog.watchdog.config.EmailMessageBrokerConfig;
- import cz.senslog.watchdog.config.MessageBrokerConfig;
- import cz.senslog.watchdog.config.MessageBrokerType;
- import cz.senslog.watchdog.domain.Report;
- import cz.senslog.watchdog.messagebroker.email.EmailMessageBroker;
- public interface MessageBroker {
- static MessageBroker create(MessageBrokerConfig config) {
- switch (config.getType()) {
- case EMAIL: return new EmailMessageBroker((EmailMessageBrokerConfig) config);
- case CONSOLE: return new ConsoleMessageBroker();
- default: throw new RuntimeException(String.format(
- "The message broker '%s' is not implemented yet.", config.getType())
- );
- }
- }
- void send(Report report, MessageBrokerHandler status);
- MessageBrokerType getType();
- }
|