X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Finject%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Finject%2FInjectable.java;h=7cfdc3d1b56945cbfc54fcfe6044f1b5207dd09c;hb=94ddca39fadbe7931a17c179424afd123bd2863a;hp=b44192cfa22b81de14bb215fa535f5ed9baed3eb;hpb=7cc24116aec0bb2ae0cdec40b31ef745e7a93115;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 b44192cf..7cfdc3d1 100644 --- a/support/inject/src/main/java/org/wamblee/inject/Injectable.java +++ b/support/inject/src/main/java/org/wamblee/inject/Injectable.java @@ -15,35 +15,42 @@ */ 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; } }