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

jadex.rules.rulesystem.rete.constraints.AndConstraintEvaluator Maven / Gradle / Ivy

package jadex.rules.rulesystem.rete.constraints;

import java.util.Arrays;

import jadex.commons.SUtil;
import jadex.rules.rulesystem.rete.Tuple;
import jadex.rules.rulesystem.rete.extractors.AttributeSet;
import jadex.rules.state.IOAVState;
import jadex.rules.state.OAVAttributeType;

/**
 *  A constraint evaluator for and-connected constraints.
 */
public class AndConstraintEvaluator implements IConstraintEvaluator
{
	//-------- attributes --------
	
	/** The constraint evaluator. */
	protected final IConstraintEvaluator[] evaluators;
	
	//-------- constructors --------
	
	/**
	 *  Create an AND constraint evaluator.
	 */
	public AndConstraintEvaluator(IConstraintEvaluator[] evaluators)
	{
		this.evaluators	= evaluators;
	}
	
	//-------- methods --------
	
	/**
	 *  Evaluate the constraints given the right object, left tuple 
	 *  (null for alpha nodes) and the state.
	 *  @param right The right input object.
	 *  @param left The left input tuple. 
	 *  @param state The working memory.
	 */
	public boolean evaluate(Object right, Tuple left, IOAVState state)
	{
		boolean ret = true;
		//IConstraintEvaluator[]	evals	= evaluators;
		for(int i=0; ret && evaluators!=null && i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy