1 /** 2 * BSD-style license; for more info see http://pmd.sourceforge.net/license.html 3 */ 4 package net.sourceforge.pmd.util.filter; 5 6 /** 7 * A logical NEGATION of a Filter. 8 * 9 * @param <T> 10 * The underlying type on which the filter applies. 11 */ 12 public class NotFilter<T> extends AbstractDelegateFilter<T> { 13 public NotFilter() { 14 super(); 15 } 16 17 public NotFilter(Filter<T> filter) { 18 super(filter); 19 } 20 21 public boolean filter(T obj) { 22 return !filter.filter(obj); 23 } 24 25 public String toString() { 26 return "not (" + filter + ")"; 27 } 28 }