Packages

  • package root
    Definition Classes
    root
  • package net
    Definition Classes
    root
  • package codingwell
    Definition Classes
    net
  • package scalaguice
    Definition Classes
    codingwell
  • 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 of classOf[Foo] or new 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.

    Definition Classes
    scalaguice
  • BindingBuilder

class BindingBuilder[T] extends ScalaAnnotatedBindingBuilder[T]

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. BindingBuilder
  2. ScalaAnnotatedBindingBuilder
  3. AnnotatedBindingBuilderProxy
  4. AnnotatedBindingBuilder
  5. ScalaLinkedBindingBuilder
  6. LinkedBindingBuilderProxy
  7. LinkedBindingBuilder
  8. ScalaScopedBindingBuilder
  9. ScopedBindingBuilderProxy
  10. Proxy
  11. ScopedBindingBuilder
  12. AnyRef
  13. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BindingBuilder()(implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[T])

Value Members

  1. def annotatedWith[TAnn <: Annotation](implicit arg0: ClassTag[TAnn]): ScalaLinkedBindingBuilder[T] { val self: com.google.inject.binder.LinkedBindingBuilder[T] }
    Definition Classes
    ScalaAnnotatedBindingBuilder
  2. def annotatedWith(annotationType: Class[_ <: Annotation]): ScalaLinkedBindingBuilder[T] { val self: com.google.inject.binder.LinkedBindingBuilder[T] }
    Definition Classes
    AnnotatedBindingBuilderProxy → AnnotatedBindingBuilder
  3. def annotatedWith(annotation: Annotation): ScalaLinkedBindingBuilder[T] { val self: com.google.inject.binder.LinkedBindingBuilder[T] }
    Definition Classes
    AnnotatedBindingBuilderProxy → AnnotatedBindingBuilder
  4. def annotatedWithName(name: String): ScalaLinkedBindingBuilder[T] { val self: com.google.inject.binder.LinkedBindingBuilder[T] }
    Definition Classes
    AnnotatedBindingBuilderProxy
  5. def asEagerSingleton(): Unit
    Definition Classes
    ScopedBindingBuilderProxy → ScopedBindingBuilder
  6. def equals(that: Any): Boolean
    Definition Classes
    Proxy → Any
  7. def hashCode(): Int
    Definition Classes
    Proxy → Any
  8. def in[TAnn <: Annotation]()(implicit arg0: ClassTag[TAnn]): Unit
    Definition Classes
    ScalaScopedBindingBuilder
  9. def in(scopeAnnotation: Class[_ <: Annotation]): Unit
    Definition Classes
    ScopedBindingBuilderProxy → ScopedBindingBuilder
  10. def in(scope: Scope): Unit
    Definition Classes
    ScopedBindingBuilderProxy → ScopedBindingBuilder
  11. val myBinder: B
  12. val self: AnnotatedBindingBuilder[T]
  13. def to[TImpl <: T](implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[TImpl]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    ScalaLinkedBindingBuilder
  14. def to(targetKey: Key[_ <: T]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  15. def to(implementation: TypeLiteral[_ <: T]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  16. def to(implementation: Class[_ <: T]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  17. def toConstructor[S <: T](constructor: Constructor[S], literal: TypeLiteral[_ <: S]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  18. def toConstructor[S <: T](constructor: Constructor[S]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  19. def toInstance(instance: T): Unit
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  20. def toProvider[TProvider <: Provider[_ <: T]](implicit arg0: scala.reflect.api.JavaUniverse.TypeTag[TProvider]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    ScalaLinkedBindingBuilder
  21. def toProvider(providerKey: Key[_ <: Provider[_ <: T]]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  22. def toProvider(provider: TypeLiteral[_ <: Provider[_ <: T]]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  23. def toProvider(provider: Class[_ <: Provider[_ <: T]]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  24. def toProvider(provider: Provider[_ <: T]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  25. def toProvider(provider: Provider[_ <: T]): ScalaScopedBindingBuilder { val self: com.google.inject.binder.ScopedBindingBuilder }
    Definition Classes
    LinkedBindingBuilderProxy → LinkedBindingBuilder
  26. def toString(): String
    Definition Classes
    Proxy → Any