package scalaguice
- Alphabetic
- By Inheritance
- scalaguice
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- trait InternalModule[B <: Binder] extends AnyRef
Allows binding via type parameters.
Allows binding via type parameters. Mix into
AbstractModule
(or subclass) to allow using a type parameter instead ofclassOf[Foo]
ornew TypeLiteral[Bar[Foo]] {}
.For example, instead of
class MyModule extends AbstractModule { def configure { bind(classOf[Service]).to(classOf[ServiceImpl]).in(classOf[Singleton]) bind(classOf[CreditCardPaymentService]) bind(new TypeLiteral[Bar[Foo]]{}).to(classOf[FooBarImpl]) bind(classOf[PaymentService]).to(classOf[CreditCardPaymentService]) bindInterceptor(Matchers.any(), Matchers.annotatedWith(classOf[AOP]), new AOPI()) } }
use
class MyModule extends AbstractModule with ScalaModule { def configure { bind[Service].to[ServiceImpl].in[Singleton] bind[CreditCardPaymentService] bind[Bar[Foo]].to[FooBarImpl] bind[PaymentService].to[CreditCardPaymentService] bindInterceptor[AOPI](methodMatcher = annotatedWith[AOP]) } }
Note This syntax allows binding to and from generic types. It doesn't currently allow bindings between wildcard types because the manifests for wildcard types don't provide access to type bounds.
- class MapOfKToSetOfVProvider[K, V] extends ProviderWithDependencies[Map[K, Set[V]]]
Provider for a Scala Immutable Map from a Java Map.
Provider for a Scala Immutable Map from a Java Map.
Example:
.toProvider(new MapOfKToSetOfVProvider[K, V](Key.get(typeLiteral[JMap[K, JSet[V]]])))
- class MapProvider[K, V] extends ProviderWithDependencies[Map[K, V]]
Provider for a Scala Immutable Map from a Java Map.
Provider for a Scala Immutable Map from a Java Map.
Example:
.toProvider(new MapProvider[K, V](Key.get(typeLiteral[JMap[K, V]])))
- class OptionProvider[T] extends ProviderWithDependencies[Option[T]]
Provider for Scala's Option from Guava's Optional.
Provider for Scala's Option from Guava's Optional.
Example:
.toProvider(new OptionProvider[T](Key.get(typeLiteral[Optional[T]])))
- trait ScalaMapBinder[K, V] extends AnyRef
Analog to Guice's MapBinder
Analog to Guice's MapBinder
Use ScalaMapBinder.newMapBinder to create a map binder that is scala friendly.
- K
The key type for the bound map
- V
The value type for the bound map
- trait ScalaModule extends AbstractModule with InternalModule[Binder]
- sealed trait ScalaMultibinder[T] extends AnyRef
Analog to Guice's Multibinder
Analog to Guice's Multibinder
Use ScalaMultibinder.newSetBinder to create a multibinder that is scala friendly.
- trait ScalaOptionBinder[T] extends AnyRef
Analog to Guice's OptionalBinder
Analog to Guice's OptionalBinder
Use ScalaOptionBinder.newOptionBinder to create an option binder that is scala friendly.
- trait ScalaPrivateModule extends PrivateModule with InternalModule[PrivateBinder]
- class SetProvider[T] extends ProviderWithDependencies[Set[T]]
Provider for a Scala Immutable Set from a Java Set.
Provider for a Scala Immutable Set from a Java Set.
Example:
.toProvider( new SetProvider[T]( Key.get( typeLiteral[JSet[T]] ) ) )
Value Members
- def cls[T](implicit arg0: ClassTag[T]): Class[T]
- def typeLiteral[T](implicit tt: scala.reflect.api.JavaUniverse.TypeTag[T]): TypeLiteral[T]
Create a com.google.inject.TypeLiteral from a scala.reflect.runtime.universe.TypeTag.
Create a com.google.inject.TypeLiteral from a scala.reflect.runtime.universe.TypeTag. Subtypes of scala.AnyVal will be converted to their corresponding Java wrapper classes.
- object BindingExtensions
Extensions for Guice's binding DSL.
Extensions for Guice's binding DSL. These allow using a type parameter instead of
classOf[Foo]
ornew TypeLiteral[Bar[Foo]] {}
. The extra methods are named as those in the normal binding DSL suffixed withType
.For example, instead of
binder.bind(new TypeLiteral[Bar[Foo]]{}).to(classOf[FooBarImpl])
use
import BindingExtensions._ binder.bindType[Bar[Foo]].toType[FooImpl]
Note This syntax allows binding to and from generic types. It doesn't currently allow bindings between wildcard types because the manifests for wildcard types don't provide access to type bounds.
- object InjectorExtensions
- object KeyExtensions
- object ScalaMapBinder
- object ScalaModule
- object ScalaMultibinder
- object ScalaOptionBinder