X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Finject%2Fsrc%2Fmain%2Fjava%2Forg%2Fwamblee%2Finject%2FInjectable.java;h=b44192cfa22b81de14bb215fa535f5ed9baed3eb;hb=7cc24116aec0bb2ae0cdec40b31ef745e7a93115;hp=0c881d9b104d50a796a815d13f0bd5ce955ee309;hpb=6edb8d1fb3e7f36d3fe9f53583fa6aac0ccd3f65;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 0c881d9b..b44192cf 100644 --- a/support/inject/src/main/java/org/wamblee/inject/Injectable.java +++ b/support/inject/src/main/java/org/wamblee/inject/Injectable.java @@ -15,7 +15,6 @@ */ package org.wamblee.inject; -import java.util.ServiceLoader; /** @@ -23,23 +22,28 @@ import java.util.ServiceLoader; * initialize fields of derived classes to null as these will override the * initializations of this base class. * - * Use this by subclassing through {@link #Injectable()). - * - * To use this class, the {@link ServiceLoader} mechanism must be used to locate - * a {@link InjectorFactory}. The first implementation that is found will be - * used for injection. + * This class uses {@link InjectorFactoryBuilder} 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 SimpleInjector injector = + InjectorFactoryBuilder.getInjector(); /** * Inheritance style constructor. */ protected Injectable() { - INJECTOR.inject(this); + injector.inject(this); } + + /** + * Gets the default injector. + * @return Injector. + */ + public SimpleInjector getInjector() { + return injector; + } }