/***********************************************************************************
*
* Copyright (c) 2015 Kamil Baczkowicz
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v1.0 which accompany this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* The Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
*
* Kamil Baczkowicz - initial API and implementation and/or initial documentation
*
*/
package pl.baczkowicz.spy.ui.search;
import pl.baczkowicz.spy.messages.FormattedMessage;
import pl.baczkowicz.spy.storage.MessageList;
public interface MessageFilter<T extends FormattedMessage>
{
/**
* Checks if the given message should be filtered out.
*
* @param message The message to be checked
* @param store The message store (could be modified)
* @param updateUi Whether to update the UI
*
* @return True if to filter the message out.
*/
boolean filter(final T message, final MessageList<T> messageList, final boolean updateUi);
void reset();
boolean isActive();
}