public static void addExprMacro(final Binder binder, final Class<? extends ExprMacroTable.ExprMacro> clazz) { Multibinder.newSetBinder(binder, ExprMacroTable.ExprMacro.class) .addBinding() .to(clazz); } }
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) { Multibinder<Procedure> procedures = newSetBinder(binder, Procedure.class); procedures.addBinding().toProvider(CreateEmptyPartitionProcedure.class).in(Scopes.SINGLETON); } }
@Override protected void configure() { Multibinder<AlarmCallback> alarmCallbackBinder = Multibinder.newSetBinder(binder(), AlarmCallback.class); alarmCallbackBinder.addBinding().to(EmailAlarmCallback.class); alarmCallbackBinder.addBinding().to(HTTPAlarmCallback.class); TypeLiteral<Class<? extends AlarmCallback>> type = new TypeLiteral<Class<? extends AlarmCallback>>(){}; Multibinder<Class<? extends AlarmCallback>> alarmCallbackClassBinder = Multibinder.newSetBinder(binder(), type); alarmCallbackClassBinder.addBinding().toInstance(EmailAlarmCallback.class); alarmCallbackClassBinder.addBinding().toInstance(HTTPAlarmCallback.class); } }
@Override public void configure(Binder binder) { binder.bind(JsonMapper.class); configBinder(binder).bindConfig(FeaturesConfig.class); binder.bind(TypeRegistry.class).in(Scopes.SINGLETON); binder.bind(TypeManager.class).to(TypeRegistry.class).in(Scopes.SINGLETON); jsonBinder(binder).addDeserializerBinding(Type.class).to(TypeDeserializer.class); newSetBinder(binder, Type.class); jsonCodecBinder(binder).bindJsonCodec(TaskStatus.class); jsonCodecBinder(binder).bindJsonCodec(TaskInfo.class); jsonCodecBinder(binder).bindJsonCodec(TaskUpdateRequest.class); }
/** * This is the preferred manner to bind a realm. The {@link org.apache.shiro.mgt.SecurityManager} will be injected with any Realm bound * with this method. * * @return a binding builder for a realm */ protected final LinkedBindingBuilder<Realm> bindRealm() { Multibinder<Realm> multibinder = Multibinder.newSetBinder(binder(), Realm.class); return multibinder.addBinding(); }
protected void addAlarmCallback(Class<? extends AlarmCallback> alarmCallbackClass) { Multibinder<AlarmCallback> alarmCallbackInstanceBinder = Multibinder.newSetBinder(binder(), AlarmCallback.class); alarmCallbackInstanceBinder.addBinding().to(alarmCallbackClass); TypeLiteral<Class<? extends AlarmCallback>> type = new TypeLiteral<Class<? extends AlarmCallback>>() { }; Multibinder<Class<? extends AlarmCallback>> alarmCallbackBinder = Multibinder.newSetBinder(binder(), type); alarmCallbackBinder.addBinding().toInstance(alarmCallbackClass); }
public static void addAggregator( final Binder binder, final Class<? extends SqlAggregator> aggregatorClass ) { Multibinder.newSetBinder(binder, SqlAggregator.class).addBinding().to(aggregatorClass); }
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)); }
/** * Add a basic auth client. * * @param pattern URL pattern to protect. * @param authenticator Authenticator to use. * @return This module. */ public Auth basic(final String pattern, final Class<? extends Authenticator<UsernamePasswordCredentials>> authenticator) { bindings.put(pattern, (binder, config) -> { TypeLiteral<Authenticator<UsernamePasswordCredentials>> usernamePasswordAuthenticator = new TypeLiteral<Authenticator<UsernamePasswordCredentials>>() { }; binder.bind(usernamePasswordAuthenticator.getRawType()).to(authenticator); bindProfile(binder, CommonProfile.class); Multibinder.newSetBinder(binder, Client.class) .addBinding().toProvider(BasicAuth.class); return new AuthFilter(IndirectBasicAuthClient.class, CommonProfile.class); }); return this; }
jsonBinder(binder).addDeserializerBinding(Type.class).to(TypeDeserializer.class); newSetBinder(binder, Type.class); jsonBinder(binder).addSerializerBinding(Slice.class).to(SliceSerializer.class); jsonBinder(binder).addDeserializerBinding(Slice.class).to(SliceDeserializer.class); jsonBinder(binder).addSerializerBinding(Expression.class).to(ExpressionSerializer.class); jsonBinder(binder).addDeserializerBinding(Expression.class).to(ExpressionDeserializer.class); newSetBinder(binder, BlockEncoding.class); jsonBinder(binder).addSerializerBinding(Block.class).to(BlockJsonSerde.Serializer.class); jsonBinder(binder).addDeserializerBinding(Block.class).to(BlockJsonSerde.Deserializer.class);
final Multibinder<BaseCacheLoader> resultSetMapperSetBinder = Multibinder.newSetBinder(binder(), BaseCacheLoader.class); resultSetMapperSetBinder.addBinding().to(ImmutableAccountCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(AccountBCDCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(RecordIdCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(AccountRecordIdCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantRecordIdCacheLoader.class).asEagerSingleton();
public static void addOperatorConversion( final Binder binder, final Class<? extends SqlOperatorConversion> clazz ) { Multibinder.newSetBinder(binder, SqlOperatorConversion.class).addBinding().to(clazz); } }
private FileEventOptions register(final Binder binder, final FileEventOptions options) { Multibinder.newSetBinder(binder, FileEventOptions.class) .addBinding() .toInstance(options); return options; }
/** * Add a form auth client. * * @param pattern URL pattern to protect. * @param authenticator Authenticator to use. * @return This module. */ public Auth form(final String pattern, final Class<? extends Authenticator<UsernamePasswordCredentials>> authenticator) { bindings.put(pattern, (binder, conf) -> { TypeLiteral<Authenticator<UsernamePasswordCredentials>> usernamePasswordAuthenticator = new TypeLiteral<Authenticator<UsernamePasswordCredentials>>() { }; binder.bind(usernamePasswordAuthenticator.getRawType()).to(authenticator); bindProfile(binder, CommonProfile.class); Multibinder.newSetBinder(binder, Client.class) .addBinding().toProvider(FormAuth.class); return new FormFilter(conf.getString("auth.form.loginUrl"), conf.getString("application.path") + authCallbackPath(conf)); }); return this; }
@Override protected void configure() { bindFlags(context); MapBinder<String, AuthServiceExtension> mapBinder = MapBinder.newMapBinder(binder(), String.class, AuthServiceExtension.class); authServiceExtensions.forEach( authExtension -> mapBinder.addBinding(authExtension.getServiceId()).toInstance(authExtension)); bind(AuthServiceProviderRegistry.class).to(PortabilityAuthServiceProviderRegistry.class); bind(SymmetricKeyGenerator.class).toInstance(keyGenerator); bind(TypeManager.class).toInstance(typeManager); bind(JobStore.class).toInstance(jobStore); bind(TokenManager.class).toInstance(tokenManager); if (trustManagerFactory != null) { bind(TrustManagerFactory.class).toInstance(trustManagerFactory); } if (keyManagerFactory != null) { bind(KeyManagerFactory.class).toInstance(keyManagerFactory); } bind(AsymmetricKeyGenerator.class).toInstance(new RsaSymmetricKeyGenerator(getMonitor())); Multibinder<Action> actionBinder = Multibinder.newSetBinder(binder(), Action.class); actionBinder.addBinding().to(DataTypesAction.class); actionBinder.addBinding().to(GetTransferServicesAction.class); actionBinder.addBinding().to(CreateTransferJobAction.class); actionBinder.addBinding().to(GenerateServiceAuthDataAction.class); actionBinder.addBinding().to(ReserveWorkerAction.class); actionBinder.addBinding().to(GetReservedWorkerAction.class); actionBinder.addBinding().to(StartTransferJobAction.class); actionBinder.addBinding().to(GetTransferJobAction.class); }
public static void addHandler(Binder binder, Class<? extends Handler> handlerClass) { Multibinder.newSetBinder(binder, Handler.class) .addBinding() .to(handlerClass); }
public static void registerDefaultGuessPluginTo(Binder binder, PluginType type) { Multibinder<PluginType> multibinder = Multibinder.newSetBinder(binder, PluginType.class, ForGuess.class); multibinder.addBinding().toInstance(type); }
.newSetBinder(binder, Object.class, Names.named("hbs.helpers")); helpers.forEach(h -> helpersBinding.addBinding().to(h)); Multibinder.newSetBinder(binder, Renderer.class).addBinding() .toInstance(engine);
@Override public void configure(Binder binder) { Multibinder<PluginSource> multibinder = Multibinder.newSetBinder(binder, PluginSource.class); // multibinder.addBinding().to(LocalDirectoryPluginSource.class); // TODO multibinder.addBinding().to(InjectedPluginSource.class); // This workaround allows no any guess plugin registered. See also: // https://github.com/embulk/embulk/issues/876 // https://groups.google.com/forum/#!topic/google-guice/5Rnm-d7MU34 // TODO: Remove this workaround. Multibinder.newSetBinder(binder, PluginType.class, ForGuess.class); } }