このリポジトリを Guice から Scaldiに移植しようとしています。私は/app/utils/di/SilhouetteModule.scala (行 60-65)からこのコードにスタックしています:
Map(
credentialsProvider.id -> credentialsProvider,
facebookProvider.id -> facebookProvider,
googleProvider.id -> googleProvider,
twitterProvider.id -> twitterProvider
),
そして、ここが私が今いる場所です
class SilhouetteModule extends Module {
bind[DelegableAuthInfoDAO[PasswordInfo]] to new PasswordInfoDAO
bind[DelegableAuthInfoDAO[OAuth1Info]] to new OAuth1InfoDAO
bind[DelegableAuthInfoDAO[OAuth2Info]] to new OAuth2InfoDAO
bind[CacheLayer] to new PlayCacheLayer
bind[HTTPLayer] to new PlayHTTPLayer
bind[IDGenerator] to new SecureRandomIDGenerator
bind[PasswordHasher] to new BCryptPasswordHasher
bind[EventBus] to new EventBus
bind[Environment[User, CachedCookieAuthenticator]] toProvider new Environment[User, CachedCookieAuthenticator](
inject [UserService],
inject [AuthenticatorService],
// **this is where I don't know what to do**
Map(
credentialsProvider.id -> credentialsProvider,
facebookProvider.id -> facebookProvider,
googleProvider.id -> googleProvider,
twitterProvider.id -> twitterProvider
),
inject [EventBus]
)
//... *Provider bindings below
上記のコードのようにマップを挿入するにはどうすればよいですか?
Scaldi は関数 (Guice の @Provides アノテーションなど) にバインドできますか?
ありがとう