SimplifyCache.java
package edu.udel.cis.vsl.tass.dynamic.impl.simplify;
import java.util.HashMap;
import java.util.Map;
import edu.udel.cis.vsl.tass.dynamic.IF.simplify.DynamicSimplifierIF;
import edu.udel.cis.vsl.tass.dynamic.IF.simplify.MorphicSimplifierCacheIF;
import edu.udel.cis.vsl.tass.dynamic.IF.value.ValueIF;
import edu.udel.cis.vsl.tass.morph.Morphic;
import edu.udel.cis.vsl.tass.util.Pair;
public class SimplifyCache implements MorphicSimplifierCacheIF {
private Map<Pair<ValueIF, Morphic>, Morphic> cache = new HashMap<Pair<ValueIF, Morphic>, Morphic>();
@Override
public void cacheResult(DynamicSimplifierIF dynamicSimplifier,
Morphic object, Morphic result) {
cache.put(new Pair<ValueIF, Morphic>(dynamicSimplifier.oldAssumption(),
object), result);
}
@Override
public Morphic getCachedResult(DynamicSimplifierIF dynamicSimplifier,
Morphic object) {
return cache.get(new Pair<ValueIF, Morphic>(dynamicSimplifier
.oldAssumption(), object));
}
}