PredicateFactory.java

package edu.udel.cis.vsl.tass.predicate.impl;

import edu.udel.cis.vsl.tass.dynamic.IF.DynamicFactoryIF;
import edu.udel.cis.vsl.tass.model.IF.ModelIF;
import edu.udel.cis.vsl.tass.model.IF.ModelSequence;
import edu.udel.cis.vsl.tass.predicate.IF.PredicateFactoryIF;
import edu.udel.cis.vsl.tass.predicate.IF.TASSPredicateIF;
import edu.udel.cis.vsl.tass.semantics.IF.LogIF;
import edu.udel.cis.vsl.tass.semantics.IF.EvaluatorIF;
import edu.udel.cis.vsl.tass.state.IF.StateFactoryIF;
import edu.udel.cis.vsl.tass.state.IF.StatefulEnvironmentIF;

public class PredicateFactory implements PredicateFactoryIF {

	@Override
	public TASSPredicateIF newAbsoluteDeadlock(ModelIF model,
			DynamicFactoryIF dynamicFactory, StatefulEnvironmentIF environment,
			EvaluatorIF evaluator, LogIF log) {
		return new AbsoluteDeadlock(model, dynamicFactory, environment,
				evaluator, log);
	}

	@Override
	public TASSPredicateIF newComparisonPredicate(ModelSequence modelSequence,
			DynamicFactoryIF dynamicFactory, StateFactoryIF stateFactory,
			TASSPredicateIF deadlockPredicate, int bufferSize, LogIF log) {
		return new ComparisonPredicate(modelSequence, dynamicFactory,
				stateFactory, deadlockPredicate, bufferSize, log);
	}

	@Override
	public TASSPredicateIF newFalsePredicate() {
		return new TASSFalsePredicate();
	}

	@Override
	public TASSPredicateIF newPotentialDeadlock(ModelIF model,
			DynamicFactoryIF dynamicFactory, StatefulEnvironmentIF environment,
			EvaluatorIF evaluator, LogIF log) {
		return new PotentialDeadlock(model, dynamicFactory, environment,
				evaluator, log);
	}

}