1 package com.github.triceo.splitlog.api; 2 3 /** 4 * Allows users to filter messages based on their own criteria. These conditions 5 * will be used whenever the {@link LogWatch} and its {@link Follower}s need to 6 * notify other parts of code about newly received {@link Message}s. 7 * 8 * @param <S> 9 * Where this is getting its {@link Message}s from. 10 */ 11 public interface MidDeliveryMessageCondition<S extends MessageProducer<S>> { 12 13 /** 14 * Evaluate a message against a user-provided condition. 15 * 16 * @param evaluate 17 * The message to evaluate. 18 * @param status 19 * Current processing status of the message. 20 * @param source 21 * The notifying object. 22 * @return True if message matches. 23 */ 24 boolean accept(Message evaluate, MessageDeliveryStatus status, S source); 25 26 }