in server/container/guice/protocols/jmap/src/main/java/org/apache/james/jmap/rfc8621/RFC8621MethodsModule.java [127:196]
protected void configure() {
bind(NamespaceFactory.class).to(DefaultNamespaceFactory.class);
bind(ZoneIdProvider.class).to(SystemZoneIdProvider.class);
bind(EmailSubmissionSetMethod.class).in(Scopes.SINGLETON);
bind(MDNSendMethod.class).in(Scopes.SINGLETON);
bind(DefaultWebPushClient.class).in(Scopes.SINGLETON);
bind(WebPushClient.class).to(DefaultWebPushClient.class);
Multibinder<Method> methods = Multibinder.newSetBinder(binder(), Method.class);
methods.addBinding().to(CoreEchoMethod.class);
methods.addBinding().to(EmailChangesMethod.class);
methods.addBinding().to(EmailImportMethod.class);
methods.addBinding().to(EmailGetMethod.class);
methods.addBinding().to(EmailQueryMethod.class);
methods.addBinding().to(EmailParseMethod.class);
methods.addBinding().to(EmailSetMethod.class);
methods.addBinding().to(EmailSubmissionSetMethod.class);
methods.addBinding().to(IdentityGetMethod.class);
methods.addBinding().to(IdentitySetMethod.class);
methods.addBinding().to(IdentityChangesMethod.class);
methods.addBinding().to(MailboxChangesMethod.class);
methods.addBinding().to(MailboxGetMethod.class);
methods.addBinding().to(MailboxQueryMethod.class);
methods.addBinding().to(MailboxSetMethod.class);
methods.addBinding().to(MDNParseMethod.class);
methods.addBinding().to(MDNSendMethod.class);
methods.addBinding().to(PushSubscriptionGetMethod.class);
methods.addBinding().to(PushSubscriptionSetMethod.class);
methods.addBinding().to(QuotaChangesMethod.class);
methods.addBinding().to(QuotaGetMethod.class);
methods.addBinding().to(QuotaQueryMethod.class);
methods.addBinding().to(ThreadChangesMethod.class);
methods.addBinding().to(ThreadGetMethod.class);
methods.addBinding().to(VacationResponseGetMethod.class);
methods.addBinding().to(VacationResponseSetMethod.class);
methods.addBinding().to(DelegatedAccountGetMethod.class);
methods.addBinding().to(DelegateGetMethod.class);
methods.addBinding().to(DelegateSetMethod.class);
methods.addBinding().to(DelegatedAccountSetMethod.class);
methods.addBinding().to(MailboxQueryChangesMethod.class);
Multibinder<JMAPRoutes> routes = Multibinder.newSetBinder(binder(), JMAPRoutes.class);
routes.addBinding().to(SessionRoutes.class);
routes.addBinding().to(JMAPApiRoutes.class);
routes.addBinding().to(DownloadRoutes.class);
routes.addBinding().to(UploadRoutes.class);
routes.addBinding().to(WebSocketRoutes.class);
routes.addBinding().to(EventSourceRoutes.class);
Multibinder<AuthenticationStrategy> authenticationStrategies = Multibinder.newSetBinder(binder(), AuthenticationStrategy.class);
authenticationStrategies.addBinding().to(BasicAuthenticationStrategy.class);
authenticationStrategies.addBinding().to(JWTAuthenticationStrategy.class);
Multibinder<TypeName> typeNameMultibinder = Multibinder.newSetBinder(binder(), TypeName.class);
typeNameMultibinder.addBinding().toInstance(MailboxTypeName$.MODULE$);
typeNameMultibinder.addBinding().toInstance(EmailTypeName$.MODULE$);
typeNameMultibinder.addBinding().toInstance(ThreadTypeName$.MODULE$);
typeNameMultibinder.addBinding().toInstance(IdentityTypeName$.MODULE$);
typeNameMultibinder.addBinding().toInstance(EmailSubmissionTypeName$.MODULE$);
typeNameMultibinder.addBinding().toInstance(EmailDeliveryTypeName$.MODULE$);
typeNameMultibinder.addBinding().toInstance(VacationResponseTypeName$.MODULE$);
Multibinder<BlobResolver> blobResolverMultibinder = Multibinder.newSetBinder(binder(), BlobResolver.class);
blobResolverMultibinder.addBinding().to(MessageBlobResolver.class);
blobResolverMultibinder.addBinding().to(UploadResolver.class);
blobResolverMultibinder.addBinding().to(MessagePartBlobResolver.class);
blobResolverMultibinder.addBinding().to(AttachmentBlobResolver.class);
}