package foundation.action;

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

public class ContextBucket {
	
	private Map<Class<?>, Object> items;
	
	public ContextBucket() {
		items = new HashMap<Class<?>, Object>();
	}
	
	public void addOne(Object context) {
		if (context == null) {
			return;
		}
		
		Class<?> clazz = context.getClass();
		items.put(clazz, context);
	}
	
	@SuppressWarnings("unchecked")
	public <T> T getOne(Class<?> clazz) {
		if (clazz == null) {
			return null;
		}
		
		Object result = items.get(clazz);
		
		if (result == null) {
			return null;
		}
		
		return (T)result;
	}

}