/** * 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; }
/** * Unconditionally bind target to the set. * * @param target the target type to which it adds a binding. * * @return self to support a continuous syntax for adding more conditional bindings. */ public ConditionalMultibind<T> addBinding(TypeLiteral<T> target) { multibinder.addBinding().to(target); return this; }
public static void addExprMacro(final Binder binder, final Class<? extends ExprMacroTable.ExprMacro> clazz) { Multibinder.newSetBinder(binder, ExprMacroTable.ExprMacro.class) .addBinding() .to(clazz); } }
@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); } }
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<Command> extraCommandsBinder = Commands.contributeExtraCommands(binder); commandTypes.forEach(ct -> extraCommandsBinder.addBinding().to(ct)); commands.forEach(c -> extraCommandsBinder.addBinding().toInstance(c)); }
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(); resultSetMapperSetBinder.addBinding().to(ObjectIdCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(AuditLogCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(AuditLogViaHistoryCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantCatalogCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantConfigCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantOverdueConfigCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantKVCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(OverriddenPlanCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(TenantStateMachineConfigCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(AccountIdFromBundleIdCacheLoader.class).asEagerSingleton(); resultSetMapperSetBinder.addBinding().to(BundleIdFromSubscriptionIdCacheLoader.class).asEagerSingleton();
OptionalBinder.newOptionalBinder(binder(), CircuitBreakerRegistry.class).setDefault().toInstance(CircuitBreakerRegistry.ofDefaults()); OptionalBinder.newOptionalBinder(binder(), RateLimiterRegistry.class).setDefault().toInstance(RateLimiterRegistry.ofDefaults()); OptionalBinder.newOptionalBinder(binder(), RetryRegistry.class).setDefault().toInstance(RetryRegistry.ofDefaults()); OptionalBinder.newOptionalBinder(binder(), BulkheadRegistry.class).setDefault().toInstance(BulkheadRegistry.ofDefaults()); Multibinder<HandlerDecorator> binder = Multibinder.newSetBinder(binder(), HandlerDecorator.class); bind(CircuitBreakerChain.class).in(Scopes.SINGLETON); bind(RateLimiterChain.class).in(Scopes.SINGLETON); bind(RetryChain.class).in(Scopes.SINGLETON); bind(BulkheadChain.class).in(Scopes.SINGLETON); binder.addBinding().toProvider(() -> (registry, rest) -> { if (registry.get(Resilience4jConfig.class).getEndpoints().getCircuitBreakers().isEnabled()) { return Handlers.chain(Handlers.chain(registry, registry.get(CircuitBreakerChain.class)), rest); binder.addBinding().toProvider(() -> (registry, rest) -> { if (registry.get(Resilience4jConfig.class).getEndpoints().getRateLimiters().isEnabled()) { return Handlers.chain(Handlers.chain(registry, registry.get(RateLimiterChain.class)), rest); binder.addBinding().toProvider(() -> (registry, rest) -> { if (registry.get(Resilience4jConfig.class).getEndpoints().getRetries().isEnabled()) { return Handlers.chain(Handlers.chain(registry, registry.get(RetryChain.class)), rest); binder.addBinding().toProvider(() -> (registry, rest) -> { if (registry.get(Resilience4jConfig.class).getEndpoints().getBulkheads().isEnabled()) { return Handlers.chain(Handlers.chain(registry, registry.get(BulkheadChain.class)), rest);
@Override public void configure(Binder binder) { Multibinder<Procedure> procedures = newSetBinder(binder, Procedure.class); procedures.addBinding().toProvider(CreateEmptyPartitionProcedure.class).in(Scopes.SINGLETON); } }
/** * 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(); }
public static void addAggregator( final Binder binder, final Class<? extends SqlAggregator> aggregatorClass ) { Multibinder.newSetBinder(binder, SqlAggregator.class).addBinding().to(aggregatorClass); }
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 addQosFilter(Binder binder, String path, int maxRequests) { if (maxRequests <= 0) { return; } Multibinder.newSetBinder(binder, ServletFilterHolder.class) .addBinding() .toInstance(new QosFilterHolder(path, maxRequests)); }
/** * Unconditionally bind target to the set. * * @param target the target class to which it adds a binding. * * @return self to support a continuous syntax for adding more conditional bindings. */ public ConditionalMultibind<T> addBinding(Class<? extends T> target) { multibinder.addBinding().to(target); return this; }
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); }
public static void addOperatorConversion( final Binder binder, final Class<? extends SqlOperatorConversion> clazz ) { Multibinder.newSetBinder(binder, SqlOperatorConversion.class).addBinding().to(clazz); } }
@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 registerDefaultGuessPluginTo(Binder binder, PluginType type) { Multibinder<PluginType> multibinder = Multibinder.newSetBinder(binder, PluginType.class, ForGuess.class); multibinder.addBinding().toInstance(type); }
protected void installAuditEventTypes(Multibinder<PluginAuditEventTypes> classMultibinder, Class<? extends PluginAuditEventTypes> auditEventTypesClass) { classMultibinder.addBinding().to(auditEventTypesClass); }
private void bindDynamicFeatures() { final Multibinder<Class<? extends DynamicFeature>> dynamicFeatures = jerseyDynamicFeatureBinder(); dynamicFeatures.addBinding().toInstance(MetricsDynamicBinding.class); dynamicFeatures.addBinding().toInstance(RestrictToMasterFeature.class); }