X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fsrc%2Forg%2Fwamblee%2Fgeneral%2FBeanKernel.java;h=5f32f68756fd5a0ceaa4f8d83eeb34a7329bcbd5;hb=53f6ff39d6e9f16d2a2d2fe7958013bad4c89172;hp=d140de3d48a8f911fee5c9599d3bbf3e8047ecd0;hpb=14df90d103ad9292137c4a250a01a257c2a3fe17;p=utils diff --git a/support/src/org/wamblee/general/BeanKernel.java b/support/src/org/wamblee/general/BeanKernel.java index d140de3d..5f32f687 100644 --- a/support/src/org/wamblee/general/BeanKernel.java +++ b/support/src/org/wamblee/general/BeanKernel.java @@ -25,7 +25,11 @@ import org.wamblee.io.ClassPathResource; import org.wamblee.io.InputResource; /** - * The standard means to obtain the bean factory. + * The standard means to obtain the bean factory. This works by reading a + * property {@value #BEAN_FACTORY_CLASS} from a property file named + * {@value #BEAN_KERNEL_PROP_FILE} from the class path. This property identifies + * the bean factory implementation to use. The configured bean factory must have + * a no-arg constructor. */ public final class BeanKernel { @@ -46,12 +50,12 @@ public final class BeanKernel { * Cached bean factory. */ private static BeanFactory BEAN_FACTORY; - + /** * Disabled constructor. - * + * */ - private BeanKernel() { + private BeanKernel() { // Empty } @@ -67,8 +71,9 @@ public final class BeanKernel { } /** - * Gets the bean factory. - * @return Bean factory. + * Gets the bean factory. + * + * @return Bean factory. */ public static BeanFactory getBeanFactory() { synchronized (BeanFactory.class) { @@ -84,7 +89,7 @@ public final class BeanKernel { * * @return Bean factory. */ - private static BeanFactory lookupBeanFactory() { + static BeanFactory lookupBeanFactory() { InputResource resource = new ClassPathResource(BEAN_KERNEL_PROP_FILE); InputStream is; try { @@ -95,7 +100,7 @@ public final class BeanKernel { } try { Properties props = new Properties(); - props.load(resource.getInputStream()); + props.load(is); String className = props.getProperty(BEAN_FACTORY_CLASS); Class beanFactory = Class.forName(className); return (BeanFactory) beanFactory.newInstance();