1 package uba.db.sql.language;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 /***
7 * Contexto de evaluación de "mentira", utilizado para los tests.
8 *
9 * @version $Revision: 1.3 $
10 */
11 public class MockEvaluationContext implements EvaluationContext {
12 private Map values;
13
14 /***
15 * Equivale a: MockEvaluationContext(<i>diccionario vacío</i>).
16 *
17 * @see #MockEvaluationContext(Map)
18 */
19 public MockEvaluationContext() {
20 this(new HashMap());
21 }
22
23 /***
24 * Inicializa este contexto de evaluación con un diccionario de: nombre
25 * columna -> valor.
26 *
27 * @param values
28 * diccionario con los pares ColumnName (o QualifiedColumnName) y
29 * el valor correspondiente
30 */
31 public MockEvaluationContext(Map values) {
32 this.values = values;
33 }
34
35 /***
36 * @see uba.db.sql.language.EvaluationContext#valueOf(uba.db.sql.language.ColumnName)
37 */
38 public Object valueOf(ColumnName name) {
39 return values.get(name);
40 }
41
42 /***
43 * @see uba.db.sql.language.EvaluationContext#valueOf(uba.db.sql.language.QualifiedColumnName)
44 */
45 public Object valueOf(QualifiedColumnName name) {
46 return values.get(name);
47 }
48 }