package net.techreadiness.ui.util;
import java.io.Serializable;
import java.util.Map;
import com.google.common.collect.Maps;
public class Conversation implements Serializable {
private static final long serialVersionUID = 1L;
private Map<String, Object> conversation = Maps.newHashMap();
public <T> T get(Class<T> clazz, String name) {
T instance;
if (conversation.containsKey(name)) {
instance = (T) conversation.get(name);
} else {
try {
instance = clazz.newInstance();
} catch (InstantiationException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
conversation.put(name, instance);
}
return instance;
}
public Map<String, Object> getAll() {
return conversation;
}
public void put(String name, Object value) {
conversation.put(name, value);
}
}