org.apache.tapestry5.internal.services
Class ServiceAnnotationObjectProvider

java.lang.Object
  extended by org.apache.tapestry5.internal.services.ServiceAnnotationObjectProvider
All Implemented Interfaces:
ObjectProvider

public class ServiceAnnotationObjectProvider
extends Object
implements ObjectProvider

Adds support for the Service annotation (which can be applied to fields or parameters), which is used to disambiguate injection when multiple services implement the same service interface.


Constructor Summary
ServiceAnnotationObjectProvider()
           
 
Method Summary
<T> T
provide(Class<T> objectType, AnnotationProvider annotationProvider, ObjectLocator locator)
          Provides an object based on an expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ServiceAnnotationObjectProvider

public ServiceAnnotationObjectProvider()
Method Detail

provide

public <T> T provide(Class<T> objectType,
                     AnnotationProvider annotationProvider,
                     ObjectLocator locator)
Description copied from interface: ObjectProvider
Provides an object based on an expression. The process of providing objects occurs within a particular context, which will typically be a service builder method, service contributor method, or service decorator method. The locator parameter provides access to the services visible to that context.

Specified by:
provide in interface ObjectProvider
Parameters:
objectType - the expected object type
annotationProvider - provides access to annotations (typically, the field or parameter to which an injection-related annotation is attached); annotations on the field or parameter may also be used when resolving the desired object
locator - locator for the context in which the provider is being used
Returns:
the requested object, or null if this object provider can not supply an object


Copyright © 2003-2012 The Apache Software Foundation.