LightSimplifierFactory.java
package edu.udel.cis.vsl.tass.simplify.light;
import java.util.HashMap;
import java.util.Map;
import edu.udel.cis.vsl.tass.simplify.IF.SymbolicSimplifierFactoryIF;
import edu.udel.cis.vsl.tass.simplify.IF.SymbolicSimplifierIF;
import edu.udel.cis.vsl.tass.symbolic.IF.SymbolicExpressionIF;
import edu.udel.cis.vsl.tass.symbolic.IF.SymbolicUniverseIF;
public class LightSimplifierFactory implements SymbolicSimplifierFactoryIF {
SymbolicUniverseIF universe;
Map<SymbolicExpressionIF, SymbolicSimplifierIF> cache = new HashMap<SymbolicExpressionIF, SymbolicSimplifierIF>();
public LightSimplifierFactory(SymbolicUniverseIF universe) {
this.universe = universe;
}
public void close() {
}
public SymbolicSimplifierIF simplifier(SymbolicExpressionIF assumption) {
SymbolicSimplifierIF simplifier = cache.get(assumption);
if (simplifier == null) {
simplifier = new LightSymbolicSimplifier(universe, assumption);
cache.put(assumption, simplifier);
}
return simplifier;
}
}