package ilarkesto.di;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
/**
* A storage for beans used for autowireing.
*
* @author wko
*/
public final class BeanContainer extends ABeanProvider implements BeanStorage<Object> {
private Map<String, Object> beans;
public Set<String> beanNames() {
return beans.keySet();
}
public Object getBean(String beanName) {
return beans.get(beanName);
}
public Class getBeanType(String beanName) {
Object bean = beans.get(beanName);
if (bean == null) return null;
return bean.getClass();
}
public BeanContainer put(String name, Object bean) {
beans.put(name, bean);
return this;
}
public BeanContainer putAll(Map<String, ? extends Object> map) {
beans.putAll(map);
return this;
}
public BeanContainer putAll(BeanProvider beanProvider) {
for (String bean : beanProvider.beanNames()) {
beans.put(bean, beanProvider.getBean(bean));
}
return this;
}
public Map<String, Object> getBeans() {
return beans;
}
// --- dependencies ---
public BeanContainer(Map<String, Object> beans) {
this.beans = beans;
}
public BeanContainer() {
this.beans = new HashMap<String, Object>();
}
}
// $Log: BeanContainer.java,v $
// Revision 1.1 2006/08/25 15:58:37 wko
// *** empty log message ***
//