import org.apache.wicket.Component;
import org.apache.wicket.application.IComponentInstantiationListener;
import org.apache.wicket.protocol.http.WebApplication;
-import org.wamblee.inject.InjectorFactoryBuilder;
+import org.wamblee.inject.InjectorBuilder;
import org.wamblee.inject.SimpleInjector;
/**
* <p>
- * Component instantiation listener that injects references into a component
- * using the injector mini-framework. Together with an implementation of the
- * mini-framework, Contexts and Depenency Injection support can be provided.
+ * Component instantiation listener that injects references into a component
+ * using the injector mini-framework. Together with an implementation of the
+ * mini-framework, Contexts and Dependency Injection support can be provided or
+ * for standard Java EE injection into components. Or, other injection
+ * frameworks can be used.
* </p>
- *
+ * <p/>
* <p>
- * To use this injector override {@link WebApplication#init()} and add the
- * listener:
+ * To use this injector override {@link WebApplication#init()} and add the
+ * listener:
* </p>
+ * <p/>
* <pre>
- * @Override
- * protected void init() {
- * super.init();
- * addComponentInstantiationListener(new ComponentInstantiationInjector());
- * }
+ * @Override
+ * protected void init() {
+ * super.init();
+ * addComponentInstantiationListener(new ComponentInstantiationInjector());
+ * }
* </pre>
- *
+ *
* @author Erik Brakkee
*/
-public class ComponentInstantiationInjector implements
- IComponentInstantiationListener {
-
- private SimpleInjector injector;
-
+public class ComponentInstantiationInjector implements IComponentInstantiationListener {
+
+ private SimpleInjector injector;
+
/**
- * Constructs the component instantiation listener.
+ * Constructs the component instantiation listener.
*/
- public ComponentInstantiationInjector() {
- injector = new SimpleInjector(InjectorFactoryBuilder.getInjectorFactory());
+ public ComponentInstantiationInjector() {
+ injector = new SimpleInjector(InjectorBuilder.getInjectorFactory());
}
-
+
@Override
public void onInstantiation(Component aComponent) {
injector.inject(aComponent);
+ aComponent.add(new InjectionBehavior(aComponent));
}
-
}