(no commit message)
[utils] / support / inject / src / main / java / org / wamblee / inject / Injectable.java
index 4f55cc35e2db8cc05da4766bde0424c794629810..ccc408f7a0eca2e5a914ce3d7d80f205b4e7986e 100644 (file)
@@ -22,20 +22,38 @@ package org.wamblee.inject;
  * initialize fields of derived classes to null as these will override the
  * initializations of this base class.
  * 
- * This class uses {@link InjectorFactoryBuilder} to obtain an implementation of 
+ * This class uses {@link InjectorBuilder} to obtain an implementation of 
  * a {@link InjectorFactory} to use. 
  * 
  * @author Erik Brakkee
  */
 public abstract class Injectable {
 
-    private static final SimpleInjector INJECTOR = new SimpleInjector(
-        InjectorFactoryBuilder.getInjectorFactory());
+    private final Injector injector = 
+        InjectorBuilder.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 Injector getInjector() {
+        return injector;
+    }
 }