All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.networknt.tram.command.consumer.CommandHandlers Maven / Gradle / Ivy

package com.networknt.tram.command.consumer;

import com.networknt.tram.message.common.Message;

import java.util.List;
import java.util.Optional;
import java.util.Set;

import static java.util.stream.Collectors.toSet;

public class CommandHandlers {
  private List handlers;

  public CommandHandlers(List handlers) {
    this.handlers = handlers;
  }

  public Set getChannels() {
    return handlers.stream().map(CommandHandler::getChannel).collect(toSet());
  }

  public Optional findTargetMethod(Message message) {
    return handlers.stream().filter(h -> h.handles(message)).findFirst();
  }

  public Optional findExceptionHandler(Throwable cause) {
    cause.printStackTrace();
    throw new UnsupportedOperationException("implement me", cause);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy