* 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 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.
*/
- public SimpleInjector getInjector() {
+ public Injector getInjector() {
return injector;
}
}