Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.tapestry5.ioc
Interface ServiceBinder

All Known Implementing Classes:
  ServiceBinderImpl

    public interface ServiceBinder

Allows a module to bind service interfaces to service implementation classes in support of autobuilding services. A ServiceBinder is passed to to a method with the following signature: `public static void bind(ServiceBinder binder)`. This is an adaptation of ideas from Guice.

Method Summary
`
`<T> ServiceBindingOptions`
` | `bind(java.lang.Class<T> implementationClass)` Defines a service in terms of an implementation class, without a service interface.
`
`<T> ServiceBindingOptions`
` | `bind(java.lang.Class<T> serviceInterface, java.lang.Class<? extends T> serviceImplementation)` Binds the service interface to a service implementation class.
`
`<T> ServiceBindingOptions`
` | `bind(java.lang.Class<T> serviceInterface, ServiceBuilder<T> builder)` Alternative implementation that supports a callback to build the service, rather than instantiating a particular class.

Method Detail

### bind

    <T> ServiceBindingOptions bind(java.lang.Class<T> implementationClass)

  Defines a service in terms of an implementation class, without a service interface. In this case, the service will not be proxiable (proxying requires a service interface) and `ServiceDef.getServiceInterface()` will return the implementation class. In this situation, the service will not be proxied; it will be instantiated fully on first reference (ignoring its scope, if any) and will not be decorated.

  Type Parameters:
    `T` -
  Parameters:
    `implementationClass` - class to instantiate as the service
  Returns:
    binding options, used to specify additional details about the service

### bind

    <T> ServiceBindingOptions bind(java.lang.Class<T> serviceInterface,
                                   ServiceBuilder<T> builder)

  Alternative implementation that supports a callback to build the service, rather than instantiating a particular class.

  Parameters:
    `serviceInterface` - interface implemented by the service
    `builder` - constructs the core service implementation
  Returns:
    binding options, used to specify additional details about the service

### bind

    <T> ServiceBindingOptions bind(java.lang.Class<T> serviceInterface,
                                   java.lang.Class<? extends T> serviceImplementation)

  Binds the service interface to a service implementation class. The default service name is the unqualified name of the service interface. The default service scope is "singleton", unless the service implementation class includes the `Scope` annotation.

  Type Parameters:
    `T` -
  Parameters:
    `serviceInterface` - service interface (used when locating services, and when building proxies)
    `serviceImplementation` - implementation class that implements the service interface
  Returns:
    binding options, used to specify additional details about the service

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2012 The Apache Software Foundation.