1 package net.avcompris.commons3.api.tests;
2
3 import static com.google.common.base.Preconditions.checkArgument;
4 import static com.google.common.base.Preconditions.checkNotNull;
5 import static com.google.common.collect.Maps.newHashMap;
6
7 import java.lang.reflect.Method;
8 import java.util.Map;
9
10 import net.avcompris.commons3.web.AbstractController;
11
12 public final class ControllerContext {
13
14 public final Class<? extends AbstractController> controllerClass;
15 public final Method controllerMethod;
16 private final Map<String, String> variables = newHashMap();
17
18 public ControllerContext(
19 final Class<? extends AbstractController> controllerClass,
20 final Method controllerMethod) {
21
22 this.controllerClass = checkNotNull(controllerClass, "controllerClass");
23 this.controllerMethod = checkNotNull(controllerMethod, "controllerMethod");
24 }
25
26 public ControllerContext addVariable(final String variableName, final String variableValue) {
27
28 variables.put(variableName, variableValue);
29
30 return this;
31 }
32
33 public boolean hasVariable(final String variableName) {
34
35 return variables.containsKey(variableName);
36 }
37
38 public String getVariable(final String variableName) {
39
40 final String variableValue = variables.get(variableName);
41
42 checkArgument(variableValue != null,
43 "variableName: %s", variableName);
44
45 return variableValue;
46 }
47 }