package net.toodarkpark.util.comparison; import java.util.*; import org.apache.commons.collections.Predicate; /* * Predicate containing other Predicates. At least one Predicate must succeed for this object to return true. * If no Predicates succeed/match, returns false. */ public class OrPredicate implements Predicate { protected Collection qualifiers; private OrPredicate() { super(); qualifiers = null; } public OrPredicate( Collection list ) { this(); qualifiers = list; } public boolean evaluate( Object obj ) { Iterator iterator = qualifiers.iterator(); while( iterator.hasNext() ) { Predicate currentQualif = (Predicate)iterator.next(); // keep comparing until we get a true return value. if( currentQualif.evaluate( obj ) == true ) { return true; } } // we're done comparing; the objects dont match! return false; } }