All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.valkyriercp.rules.constraint.Or Maven / Gradle / Ivy

There is a newer version: 1.3
Show newest version
package org.valkyriercp.rules.constraint;

import java.util.Iterator;

/**
 * A "or" compound constraint (aka disjunction).
 *
 * @author Keith Donald
 */
public class Or extends CompoundConstraint {

	/**
	 * Creates a empty UnaryOr disjunction.
	 */
	public Or() {
		super();
	}

	/**
	 * "Ors" two constraints.
	 *
	 * @param constraint1
	 *            The first constraint.
	 * @param constraint2
	 *            The second constraint.
	 */
	public Or(Constraint constraint1, Constraint constraint2) {
		super(constraint1, constraint2);
	}

	/**
	 * "Ors" the specified constraints.
	 *
	 * @param constraints
	 *            The constraints
	 */
	public Or(Constraint[] constraints) {
		super(constraints);
	}

	/**
	 * Tests if any of the constraints aggregated by this compound constraint
	 * test true.
	 *
	 * @see Constraint#test(java.lang.Object)
	 */
	public boolean test(Object value) {
		for (Iterator i = iterator(); i.hasNext();) {
			if (((Constraint)i.next()).test(value)) {
				return true;
			}
		}
		return false;
	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy