(no commit message)
[utils] / support / inject / src / main / java / org / wamblee / inject / Injectable.java
index b44192cfa22b81de14bb215fa535f5ed9baed3eb..7cfdc3d1b56945cbfc54fcfe6044f1b5207dd09c 100644 (file)
  */
 package org.wamblee.inject;
 
-
-
 /**
  * This abstract base class performs injection at construction. Be sure not to
  * 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 
- * a {@link InjectorFactory} to use. 
+ * This class uses {@link InjectorBuilder} to obtain an implementation of a
+ * {@link InjectorFactory} to use.
  * 
  * @author Erik Brakkee
  */
 public abstract class Injectable {
 
-    private final SimpleInjector injector = 
-        InjectorFactoryBuilder.getInjector();
+    private final Injector injector = InjectorBuilder.getInjector();
 
     /**
      * Inheritance style constructor.
      */
     protected Injectable() {
+        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. 
+     * 
+     * @return Injector.
      */
-    public SimpleInjector getInjector() {
+    public Injector getInjector() {
         return injector;
     }
 }