package com.limegroup.gnutella.filters; import com.limegroup.gnutella.messages.Message; public class CompositeFilter extends SpamFilter { SpamFilter[] delegates; /** * @requires filters not modified while this is in use (rep is exposed!), * filters contains no null elements * @effects creates a new spam filter from a number of other filters. */ public CompositeFilter(SpamFilter[] filters) { this.delegates=filters; } public boolean allow(Message m) { for (int i=0; i<delegates.length; i++) { if (! delegates[i].allow(m)) return false; } return true; } }