ConditionalExpressionFactory.java

package edu.udel.cis.vsl.tass.symbolic.cond;

import java.util.HashMap;
import java.util.Map;

import edu.udel.cis.vsl.tass.symbolic.IF.tree.TreeExpressionIF;
import edu.udel.cis.vsl.tass.symbolic.expression.SymbolicExpression;
import edu.udel.cis.vsl.tass.symbolic.expression.SymbolicExpressionKey;

public class ConditionalExpressionFactory {

	private Map<SymbolicExpressionKey<ConditionalExpression>, ConditionalExpression> map = new HashMap<SymbolicExpressionKey<ConditionalExpression>, ConditionalExpression>();

	public ConditionalExpression conditionalExpression(
			TreeExpressionIF predicate, TreeExpressionIF trueValue,
			TreeExpressionIF falseValue) {
		return SymbolicExpression.flyweight(map, new ConditionalExpression(
				predicate, trueValue, falseValue));
	}

}