/** * Bind this binding key to the given implementation class. * * This class will be instantiated and injected by the injection framework. */ public Binding<T> to(final Class<? extends T> implementation) { return underlying.to(implementation).asJava(); }
/** * Bind this binding key to the given provider class. * * The dependency injection framework will instantiate and inject this provider, and then invoke its `get` method * whenever an instance of the class is needed. */ public <P extends Provider<? extends T>> Binding<T> toProvider(final Class<P> provider) { return underlying.toProvider(provider).asJava(); }
/** * Create a binding key for the given class. * @param <T> the type of the bound class * @param clazz the class to bind * @return the binding key for the given class */ public static <T> BindingKey<T> bind(Class<T> clazz) { return new BindingKey<>(clazz); }
/** * Qualify this binding key with the given instance of an annotation. * * This can be used to specify bindings with annotations that have particular values. */ public <A extends Annotation> BindingKey<T> qualifiedWith(final A instance) { return underlying.qualifiedWith(instance).asJava(); }
@Override public Seq<Binding<?>> bindings(Environment environment, Configuration configuration) { return seq( bind(ApplicationLifecycle.class).to(DelegateApplicationLifecycle.class), bind(play.Configuration.class).toProvider(ConfigurationProvider.class), bind(Crypto.class).toSelf() ); } }
@Override public Seq<Binding<?>> bindings(Environment environment, Configuration configuration) { return seq( bind(WSAPI.class).to(AhcWSAPI.class), bind(WSClient.class).toProvider(WSClientProvider.class) ); }
@Override public Seq<Binding<?>> bindings(Environment environment, Configuration configuration) { String dbKey = configuration.underlying().getString("play.db.config"); String defaultDb = configuration.underlying().getString("play.db.default"); ImmutableList.Builder<Binding<?>> list = new ImmutableList.Builder<Binding<?>>(); list.add(bind(ConnectionPool.class).to(DefaultConnectionPool.class)); list.add(bind(DBApi.class).to(DefaultDBApi.class)); try { Set<String> dbs = configuration.underlying().getConfig(dbKey).root().keySet(); for (String db : dbs) { list.add(bind(Database.class).qualifiedWith(named(db)).to(new NamedDatabaseProvider(db))); } if (dbs.contains(defaultDb)) { list.add(bind(Database.class).to(bind(Database.class).qualifiedWith(named(defaultDb)))); } } catch (com.typesafe.config.ConfigException.Missing e) { // ignore missing configuration } return Scala.toSeq(list.build()); }
/** * A binding key. * * A binding key consists of a class and zero or more JSR-330 qualifiers. * * See the {@link Module} class for information on how to provide bindings. * * @param clazz The class to bind. * @param qualifier An optional qualifier. */ public BindingKey(final Class<T> clazz, final Optional<QualifierAnnotation> qualifier) { this(play.api.inject.BindingKey.apply(clazz, OptionConverters.toScala(qualifier.map(QualifierAnnotation::asScala)))); }
/** * Bind this binding key to the given instance. */ public Binding<T> toInstance(final T instance) { return underlying.toInstance(instance).asJava(); }
public Class<T> getClazz() { return underlying.clazz(); }
public BindingKey<T> getKey() { return underlying.key().asJava(); }
/** * Bind this binding key to itself. */ public Binding<T> toSelf() { return underlying.toSelf().asJava(); }
public Optional<QualifierAnnotation> getQualifier() { return OptionConverters.toJava(underlying.qualifier()).map(play.api.inject.QualifierAnnotation::asJava); }
/** * Qualify this binding key with the given instance of an annotation. * * This can be used to specify bindings with annotations that have particular values. */ public <A extends Annotation> BindingKey<T> qualifiedWith(final A instance) { return underlying.qualifiedWith(instance).asJava(); }
@Override public Seq<Binding<?>> bindings(Environment environment, Configuration configuration) { return seq( bind(DynamicEvolutions.class).to(EbeanDynamicEvolutions.class).eagerly(), bind(EbeanConfig.class).toProvider(DefaultEbeanConfig.EbeanConfigParser.class).eagerly() ); }
/** * A binding key. * * A binding key consists of a class and zero or more JSR-330 qualifiers. * * See the {@link Module} class for information on how to provide bindings. * * @param clazz The class to bind. * @param qualifier An optional qualifier. */ public BindingKey(final Class<T> clazz, final Optional<QualifierAnnotation> qualifier) { this(play.api.inject.BindingKey.apply(clazz, OptionConverters.toScala(qualifier.map(QualifierAnnotation::asScala)))); }
/** * Bind this binding key to the given instance. */ public Binding<T> toInstance(final T instance) { return underlying.toInstance(instance).asJava(); }
public Class<T> getClazz() { return underlying.clazz(); }
public BindingKey<? extends T> getKey() { return underlying.key().asJava(); }
/** * Bind this binding key to itself. */ public Binding<T> toSelf() { return underlying.toSelf().asJava(); }