/** * Unconditionally bind target to the set. * * @param target the target instance to which it adds a binding. * * @return self to support a continuous syntax for adding more conditional bindings. */ public ConditionalMultibind<T> addBinding(T target) { multibinder.addBinding().toInstance(target); return this; }
public static void addResource(Binder binder, Class<?> resourceClazz) { Multibinder.newSetBinder(binder, new TypeLiteral<Class<?>>(){}, JSR311Resource.class) .addBinding() .toInstance(resourceClazz); } }
@Override public void configure(Binder binder) { binder.bind(TLSCertificateChecker.class) .annotatedWith(Names.named(IT_CHECKER_TYPE)) .toInstance(INSTANCE); }
@Override public void configure(final Env env, final Config config, final Binder binder) { GsonBuilder gsonb = new GsonBuilder(); if (configurer != null) { configurer.accept(gsonb, config); } Gson gson = gsonb.create(); binder.bind(Gson.class).toInstance(gson); Multibinder.newSetBinder(binder, Parser.class).addBinding() .toInstance(new GsonParser(type, gson)); GsonRenderer renderer = raw ? new GsonRawRenderer(type, gson) : new GsonRenderer(type, gson); Multibinder.newSetBinder(binder, Renderer.class).addBinding().toInstance(renderer); }
@Override protected void configure() { bind(Properties.class).annotatedWith(Names.named("dataSourceProperties")).toInstance(this.properties); bind(DataSource.class).toProvider(DataSourceProvider.class); } }
public JSitemap(final String path, final Optional<String> baseurl, final WebPageProvider wpp) { this.path = path; this.baseurl = baseurl; this.wpp = binder -> binder .bind(Key.get(WebPageProvider.class, Names.named(path))).toInstance(wpp); }
binder.bind(File.class).annotatedWith(Names.named("application.tmpdir")) .toInstance(tmpdir); parsers.addBinding().toInstance(BuiltinParser.Basic); parsers.addBinding().toInstance(BuiltinParser.Collection); parsers.addBinding().toInstance(BuiltinParser.Optional); parsers.addBinding().toInstance(BuiltinParser.Enum); parsers.addBinding().toInstance(BuiltinParser.Bytes); renderers.addBinding().toInstance(BuiltinRenderer.asset); renderers.addBinding().toInstance(BuiltinRenderer.bytes); renderers.addBinding().toInstance(BuiltinRenderer.byteBuffer); renderers.addBinding().toInstance(BuiltinRenderer.file); renderers.addBinding().toInstance(BuiltinRenderer.charBuffer); renderers.addBinding().toInstance(BuiltinRenderer.stream); renderers.addBinding().toInstance(BuiltinRenderer.reader); renderers.addBinding().toInstance(BuiltinRenderer.fileChannel); parsers.addBinding().toInstance(new DateParser(dateFormat)); parsers.addBinding().toInstance(new LocalDateParser(dateTimeFormatter)); parsers.addBinding().toInstance(new ZonedDateTimeParser(zonedDateTimeFormat)); parsers.addBinding().toInstance(new LocaleParser()); parsers.addBinding().toInstance(new StaticMethodParser("valueOf")); parsers.addBinding().toInstance(new StaticMethodParser("fromString")); parsers.addBinding().toInstance(new StaticMethodParser("forName")); parsers.addBinding().toInstance(new StringConstructorParser()); parsers.addBinding().toInstance(beanParser.orElseGet(() -> new BeanParser(false))); renderers.addBinding().toInstance(new DefaulErrRenderer());
@Override public void configure(Binder binder) { binder.bind(ConfigSource.class) .annotatedWith(ForSystemConfig.class) .toInstance(systemConfig); } }
/** Creates a constant binding to {@code @Named(key)} for each entry in {@code properties}. */ public static void bindProperties(Binder binder, Map<String, String> properties) { binder = binder.skipSources(Names.class); for (Map.Entry<String, String> entry : properties.entrySet()) { String key = entry.getKey(); String value = entry.getValue(); binder.bind(Key.get(String.class, new NamedImpl(key))).toInstance(value); } }
@Override protected void configure() { // the ObjectMapperProvider requires at least an empty JacksonSubtypes set. // if the multibinder wasn't created that reference will be null, so we force its creation here jacksonSubTypesBinder(); bind(ClassLoader.class).annotatedWith(GraylogClassLoader.class).toInstance(classLoader); bind(ObjectMapper.class).toProvider(ObjectMapperProvider.class).asEagerSingleton(); } }
@Override protected final void configureShiro() { bindBeanType(TypeLiteral.get(ServletContext.class), Key.get(ServletContext.class, Names.named(NAME))); bind(Key.get(ServletContext.class, Names.named(NAME))).toInstance(this.servletContext); bindWebSecurityManager(bind(WebSecurityManager.class)); bindWebEnvironment(bind(WebEnvironment.class)); bind(GuiceShiroFilter.class).asEagerSingleton(); expose(GuiceShiroFilter.class); this.configureShiroWeb(); bind(FilterChainResolver.class).toProvider(new FilterChainResolverProvider(setupFilterChainConfigs())); }
@Override public void configure(Binder binder) { binder.bind(TLSCertificateChecker.class) .annotatedWith(Names.named(DEFAULT_CHECKER_TYPE)) .toInstance(INSTANCE); } }
@Override public void configure(final Env env, final Config config, final Binder binder) { JsonbConfig jsonbConfig = new JsonbConfig(); if (configurer != null) { configurer.accept(jsonbConfig, config); } Jsonb jsonb = JsonbBuilder.create(jsonbConfig); binder.bind(Jsonb.class).toInstance(jsonb); Multibinder.newSetBinder(binder, Parser.class).addBinding() .toInstance(new YassonParser(type, jsonb)); Multibinder.newSetBinder(binder, Renderer.class).addBinding() .toInstance(new YassonRenderer(type, jsonb)); }
@SuppressWarnings("unchecked") protected void bindFlags(ExtensionContext context) { // Automatically bind all flags in our ExtensionContext to a Named annotation. e.g., binds: // settingsExtension.cloud() to a String annotated with @Named("cloud"), so core classes // may inject '@Named("cloud") String cloud'. for (Method method : context.getClass().getMethods()) { boolean isFlagMethod = method.isAnnotationPresent(Flag.class); if (!isFlagMethod) { continue; } Class returnType = method.getReturnType(); Object flagValue; try { flagValue = method.invoke(context); } catch (IllegalAccessException | InvocationTargetException e) { throw new RuntimeException("Could not get flag value by invoking: " + method.getName(), e); } Preconditions.checkNotNull(flagValue, "Required flag " + method.getName() + " was mull"); bind(returnType).annotatedWith(Names.named(method.getName())).toInstance(flagValue); } } }
public static void addQosFilter(Binder binder, String path, int maxRequests) { if (maxRequests <= 0) { return; } Multibinder.newSetBinder(binder, ServletFilterHolder.class) .addBinding() .toInstance(new QosFilterHolder(path, maxRequests)); }
@SuppressWarnings("unchecked") public T with(final WebPageProvider wpp) { requireNonNull(wpp, "WebPageProvider is required."); this.wpp = binder -> binder.bind(Key.get(WebPageProvider.class, Names.named(path))) .toInstance(wpp); return (T) this; }
@Override public void configure(Binder binder) { binder.bind(IntegrationTestingConfig.class) .toProvider(IntegrationTestingConfigProvider.class) .in(ManageLifecycle.class); JsonConfigProvider.bind(binder, "druid.test.config", IntegrationTestingConfigProvider.class); binder.bind(CuratorConfig.class).to(IntegrationTestingCuratorConfig.class); // Bind DruidNode instance to make Guice happy. This instance is currently unused. binder.bind(DruidNode.class).annotatedWith(Self.class).toInstance( new DruidNode("integration-tests", "localhost", false, 9191, null, null, true, false) ); }
private void bindExceptionMappers() { final Multibinder<Class<? extends ExceptionMapper>> exceptionMappers = jerseyExceptionMapperBinder(); exceptionMappers.addBinding().toInstance(NotFoundExceptionMapper.class); exceptionMappers.addBinding().toInstance(ValidationExceptionMapper.class); exceptionMappers.addBinding().toInstance(ElasticsearchExceptionMapper.class); exceptionMappers.addBinding().toInstance(QueryParsingExceptionMapper.class); }
/** * Creates a constant binding to {@code @Named(key)} for each property. This method binds all * properties including those inherited from {@link Properties#defaults defaults}. */ public static void bindProperties(Binder binder, Properties properties) { binder = binder.skipSources(Names.class); // use enumeration to include the default properties for (Enumeration<?> e = properties.propertyNames(); e.hasMoreElements(); ) { String propertyName = (String) e.nextElement(); String value = properties.getProperty(propertyName); binder.bind(Key.get(String.class, new NamedImpl(propertyName))).toInstance(value); } } }
@Override public void configure(BootstrapBinder binder) { binder.bind(String.class).annotatedWith(EurekaNamespace.class).toInstance("testnamespace."); } })