@Override public <U> U createAndInitialize(Class<U> clazz) { return getServiceLocator().createAndInitialize(clazz); }
@Override public <U> U createAndInitialize(Class<U> clazz) { return getServiceLocator().createAndInitialize(clazz); }
@SuppressWarnings("unchecked") @Override public T create() { return (T) locator.createAndInitialize(c); } }
class MyResourceConfig extends ResourceConfig { // won't be initialized until onStartup() ServiceLocator serviceLocator; public MyResourceConfig() { register(new ContainerLifecycleListener() { public void onStartup(Container container) { // access the ServiceLocator here serviceLocator = container.getApplicationHandler().getServiceLocator(); // ... do what you need with ServiceLocator ... MyService service = serviceLocator.createAndInitialize(MyService.class); } public void onReload(Container container) {/*...*/} public void onShutdown(Container container) {/*...*/} }); } public ServiceLocator getServiceLocator() { return serviceLocator; } }
@SuppressWarnings("unchecked") @Override public T create() { return (T) locator.createAndInitialize(c); } }
@SuppressWarnings("unchecked") @Override public T create() { return (T) locator.createAndInitialize(c); } }
@Override public <U> U createAndInitialize(Class<U> aClass, String s) { return delegate.createAndInitialize(aClass, s); } }
@Override public <U> U createAndInitialize(Class<U> createMe) { return delegate.createAndInitialize(createMe); }
@Override public <U> U createAndInitialize(Class<U> createMe, String strategy) { return delegate.createAndInitialize(createMe, strategy); }
@Override public <U> U createAndInitialize(Class<U> aClass) { return delegate.createAndInitialize(aClass); }
/** * Create new aggregated {@link ParamConverterProvider param converter provider}. * * @param locator HK2 service locator. */ public AggregatedProvider(@Context final ServiceLocator locator) { providers = new ParamConverterProvider[] { // ordering is important (e.g. Date provider must be executed before String Constructor // as Date has a deprecated String constructor locator.createAndInitialize(DateProvider.class), locator.createAndInitialize(TypeFromStringEnum.class), locator.createAndInitialize(TypeValueOf.class), locator.createAndInitialize(CharacterProvider.class), locator.createAndInitialize(TypeFromString.class), locator.createAndInitialize(StringConstructor.class), }; }
@Inject public FreemarkerViewProcessor( Configuration webConfig, ServletContext servletContext, ServiceLocator serviceLocator) { super(webConfig, servletContext, FreemarkerMvcFeature.SUFFIX, SUPPORTED_EXTENSIONS); this.factory = getTemplateObjectFactory( serviceLocator, FreemarkerTemplateObjectFactory.class, () -> serviceLocator.createAndInitialize(FreemarkerTemplateObjectFactory.class)); }
@Override public <U> U createAndInitialize(Class<U> clazz) { return getServiceLocator().createAndInitialize(clazz); }
@Override public <U> U createAndInitialize(Class<U> clazz) { return getServiceLocator().createAndInitialize(clazz); }
/** * <p>subscribeEvent.</p> * * @param eventClass a {@link java.lang.Class} object. * @param listenerClass a {@link java.lang.Class} object. * @return a {@link ameba.event.Listener} object. * @since 0.1.6e * @param <E> a E object. */ protected <E extends Event> Listener subscribeEvent(Class<E> eventClass, final Class<? extends Listener<E>> listenerClass) { Listener<E> listener = locator.createAndInitialize(listenerClass); subscribe(eventClass, listener); return listener; }
/** * <p>subscribeSystemEvent.</p> * * @param eventClass a {@link java.lang.Class} object. * @param listenerClass a {@link java.lang.Class} object. * @return a {@link ameba.event.Listener} object. * @since 0.1.6e * @param <E> a E object. */ protected <E extends Event> Listener subscribeSystemEvent(Class<E> eventClass, final Class<? extends Listener<E>> listenerClass) { Listener<E> listener = locator.createAndInitialize(listenerClass); SystemEventBus.subscribe(eventClass, listener); return listener; } }
@Test public void jitGuiceBindingsAreBridgedToHk2() throws ServletException { // when JitResource resource = serviceLocator.createAndInitialize(JitResource.class); // then assertThat(resource).isNotNull(); assertThat(resource.getDAO()).isNotNull(); } }
@Test public void explicitGuiceBindingsAreBridgedToHk2() throws ServletException { ExplicitResource resource = serviceLocator.createAndInitialize(ExplicitResource.class); assertThat(resource).isNotNull(); assertThat(resource.getDAO()).isNotNull(); }
@Test public void explicitGuiceBindingsAreBridgedToHk2() throws ServletException { // when ExplicitResource resource = serviceLocator.createAndInitialize(ExplicitResource.class); // then assertThat(resource).isNotNull(); assertThat(resource.getDAO()).isNotNull(); }
/** * <p>subscribeEvent.</p> * * @param object a {@link java.lang.Object} object. * @since 0.1.6e */ public void subscribeEvent(Object object) { if (object instanceof Class) { object = locator.createAndInitialize((Class) object); } else { locator.inject(object); locator.postConstruct(object); } getEventBus().subscribe(object); }