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 public interface MidDeliveryMessageCondition { 9 10 /** 11 * Evaluate a message against a user-provided condition when the message has 12 * been received from a {@link Follower}. This will happen when the message 13 * condition evaluation happens within {@link MergingFollower}. 14 * 15 * @param evaluate 16 * The message to evaluate. 17 * @param status 18 * Current processing status of the message. 19 * @param source 20 * The notifying object. 21 * @return True if message matches. 22 */ 23 boolean accept(Message evaluate, MessageDeliveryStatus status, Follower source); 24 25 /** 26 * Evaluate a message against a user-provided condition when the message has 27 * been received from a {@link LogWatch}. 28 * 29 * @param evaluate 30 * The message to evaluate. 31 * @param status 32 * Current processing status of the message. 33 * @param source 34 * The notifying object. 35 * @return True if message matches. 36 */ 37 boolean accept(Message evaluate, MessageDeliveryStatus status, LogWatch source); 38 }