package org.theonefx.wcframework.mvc; import org.theonefx.wcframework.core.BeanDefinitionRegistry; import org.theonefx.wcframework.core.exception.BeansException; import org.theonefx.wcframework.ioc.DefaultBeanFactory; import org.theonefx.wcframework.ioc.exception.NoSuchBeanException; public abstract class ApplicationContextSupport implements ApplicationContext { private DefaultBeanFactory beanFactory; protected ApplicationContextSupport() { beanFactory = new DefaultBeanFactory(); } protected DefaultBeanFactory getDefaultBeanFactory() { return beanFactory; } protected BeanDefinitionRegistry getBeanDefinitionRegistry() { return beanFactory; } @Override public Object getBean(String id) throws BeansException { return beanFactory.getBean(id); } @Override public <T> T getBean(String id, Class<T> requiredType) throws BeansException { return beanFactory.getBean(id, requiredType); } @Override public <T> T getBean(Class<T> requiredType) throws BeansException { return beanFactory.getBean(requiredType); } @Override public boolean containsBean(String id) { return beanFactory.containsBean(id); } @Override public boolean isSingleton(String id) throws NoSuchBeanException { return beanFactory.isSingleton(id); } @Override public boolean isPrototype(String id) throws NoSuchBeanException { return beanFactory.isPrototype(id); } @Override public boolean isTypeMatch(String id, Class<?> targetType) throws NoSuchBeanException { return beanFactory.isTypeMatch(id, targetType); } @Override public Class<?> getType(String id) throws NoSuchBeanException { return beanFactory.getType(id); } @Override public boolean containsBean(Class<?> requiredType) { return beanFactory.containsBean(requiredType); } }