AnyCondition.java

package com.ziesemer.utils.web.addressFilter.conditions;

import java.util.Collections;
import java.util.List;

import javax.servlet.ServletRequest;

/**
 * @author Mark A. Ziesemer
 * 	<a href="http://www.ziesemer.com.">&lt;www.ziesemer.com&gt;</a>
 */
public class AnyCondition implements ICondition{
	
	protected final List<ICondition> conditions;
	
	public AnyCondition(final List<ICondition> conditions){
		this.conditions = conditions;
	}
	
	public boolean checkCondition(final ServletRequest sr) throws Exception{
		for(final ICondition condition : conditions){
			if(condition.checkCondition(sr)){
				return true;
			}
		}
		
		return false;
	}
	
	/**
	 * <p>
	 * 	Returns a read-only view of the conditions checked against, primarily for unit testing.
	 * </p>
	 */
	public List<ICondition> getConditions(){
		return Collections.unmodifiableList(conditions);
	}
	
}