module.bind(UserAgentStringParser.class) .toInstance(JWebMPSiteBinder.userAgentParser); JWebMPSiteBinder.log.fine("Bound ReadableUserAgent.class"); module.bind(ReadableUserAgent.class) .toProvider(() -> module.bind(AjaxResponse.class) .in(RequestScoped.class); JWebMPSiteBinder.log.fine("Bound AjaxCall.class"); module.bind(AjaxCall.class) .in(RequestScoped.class); module.bind(Map.class) .annotatedWith(Names.named("LocalStorage")) .toProvider(() -> GuiceContext.getInstance(SessionStorageProperties.class) .getLocalStorage()); module.bind(JWebMPSiteBinder.localStorageTypeLiteral) .annotatedWith(Names.named("LocalStorage")) .toProvider(() -> GuiceContext.getInstance(SessionStorageProperties.class) module.bind(Map.class) .annotatedWith(Names.named("SessionStorage")) .toProvider(() -> GuiceContext.getInstance(SessionStorageProperties.class) .getSessionStorage()); module.bind(JWebMPSiteBinder.sessionStorageTypeLiteral) .annotatedWith(Names.named("SessionStorage")) .toProvider(() -> GuiceContext.getInstance(SessionStorageProperties.class) .getSessionStorage()); JWebMPSiteBinder.log.fine("Bound SessionStorageProperties.class");