package iamrescue.communication.messages.filter;
import iamrescue.communication.messages.Message;
import java.util.Collection;
/**
* This filter will iterate through a collection of filters. As soon as one
* filter accepts the message, it is assumed accepted by the parent filter
* (regardless of whether other filters reject the message). Not all filters are
* necessarily called when one has accepted.
*
* @author ss2
*
*/
public class OrMessageFilter implements IMessageFilter {
private Collection<IMessageFilter> filters;
public OrMessageFilter(Collection<IMessageFilter> filters) {
this.filters = filters;
}
public boolean evaluate(Message message) {
for (IMessageFilter filter : filters) {
if (filter.evaluate(message)) {
return true;
}
}
return false;
}
}