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);
}
}