view visualizer/LogViewer/src/at/ssw/visualizer/logviewer/model/filter/Filter.java @ 5734:6a812002a918

Initial commit: LogViewer backend
author Alexander Stipsits <stipsits_alexander@gmx.at>
date Fri, 22 Jun 2012 23:13:34 +0200
parents
children
line wrap: on
line source

package at.ssw.visualizer.logviewer.model.filter;

import at.ssw.visualizer.logviewer.model.LogLine;

/**
 *
 * @author Alexander Stipsits
 */
public interface Filter {

	/**
	 * Sets the constraints for a filter.<br>
	 * They can be every type of objects. In general these are strings, but it can also be
	 * a Integer (like in the <code>NodeFilter</code>):<br>
	 * <code>Filter nodeFilter = filterManager.getNodeFilter();
	 * filter.setConstraints((String)nodeName, (Integer)nodeNumber);</code>
	 * @param constraints filter constraints
	 */
	void setConstraints(Object ... constraints);
	
	/**
	 * Indicates whether to keep a log line in the filter results, or not.
	 * @param line log line which should be checked
	 * @return <code>true</code> if the line should be kept, <code>false</code> otherwise
	 */
	boolean keep(LogLine line);
	
	/**
	 * Activates or deactivates a filter. Deactivated filters will be ignored.
	 * @param active <code>true</code> to activate, <code>false</code> to deactivate
	 */
	void setActive(boolean active);
	
	/**
	 * Returns the activation status
	 * @return <code>true</code> for an active filter, <code>false</code> otherwise
	 */
	boolean isActive();
	
}