X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Finject%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Finject%2FInjectable.java;h=a87c236b2cd33c8330bf62893ae42926b4da2004;hb=e3b6aeebef14f365e2f5e47dfbfe020c41e0c115;hp=4f55cc35e2db8cc05da4766bde0424c794629810;hpb=466df0c4c373fe3d86a851fa4adbf72d015a0225;p=utils diff --git a/support/inject/src/main/java/org/wamblee/inject/Injectable.java b/support/inject/src/main/java/org/wamblee/inject/Injectable.java index 4f55cc35..a87c236b 100644 --- a/support/inject/src/main/java/org/wamblee/inject/Injectable.java +++ b/support/inject/src/main/java/org/wamblee/inject/Injectable.java @@ -29,13 +29,31 @@ package org.wamblee.inject; */ public abstract class Injectable { - private static final SimpleInjector INJECTOR = new SimpleInjector( - InjectorFactoryBuilder.getInjectorFactory()); + private final SimpleInjector injector = + InjectorFactoryBuilder.getInjector(); /** * Inheritance style constructor. */ protected Injectable() { - INJECTOR.inject(this); + inject(); + } + + + /** + * Inject references. This can be useful when injection is to be done again after construction + * to obtain new references or after zeroing out of the references. + */ + public void inject() { + injector.inject(this); } + + + /** + * Gets the default injector. + * @return Injector. + */ + public SimpleInjector getInjector() { + return injector; + } }