package com.netflix.suro.routing.filter;
import com.google.common.collect.ImmutableList;
/**
* A number of static helper methods to simplify the construction of combined event filters.
*/
public class MessageFilters {
private MessageFilters(){}
public static MessageFilter alwaysTrue(){
return AlwaysTrueMessageFilter.INSTANCE;
}
public static MessageFilter alwaysFalse() {
return AlwaysFalseMessageFilter.INSTANCE;
}
public static MessageFilter or(MessageFilter...filters) {
return new OrMessageFilter(filters);
}
public static MessageFilter or(Iterable<MessageFilter> filters) {
return new OrMessageFilter(ImmutableList.copyOf(filters));
}
public static MessageFilter and(MessageFilter...filters) {
return new AndMessageFilter(filters);
}
public static MessageFilter and(Iterable<MessageFilter> filters){
return new AndMessageFilter(ImmutableList.copyOf(filters));
}
public static MessageFilter not(MessageFilter filter) {
return new NotMessageFilter(filter);
}
}