org.apache.tapestry5.ioc.internal.services
Class MasterObjectProviderImpl
java.lang.Object
org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl
- All Implemented Interfaces:
- MasterObjectProvider
@PreventServiceDecoration
public class MasterObjectProviderImpl
- extends Object
- implements MasterObjectProvider
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MasterObjectProviderImpl
public MasterObjectProviderImpl(List<ObjectProvider> configuration,
OperationTracker tracker)
provide
public <T> T provide(Class<T> objectType,
AnnotationProvider annotationProvider,
ObjectLocator locator,
boolean required)
- Description copied from interface:
MasterObjectProvider
- 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.
When the value is required and no
ObjectProvider
provided a non-null value, then ObjectLocator.getService(Class, Class[])
is invoked (with no marker annotations),
to provide a uniquely matching service, or throw a failure exception
if no single service can be found.
- Specified by:
provide
in interface MasterObjectProvider
- Parameters:
objectType
- the expected object typeannotationProvider
- 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 objectlocator
- locator for the context in which the provider is being usedrequired
- if true (normal case) a value must be provided; if false then it is allowed for no
ObjectProvider to provide a value, and this method may return null to indicate the
failure
- Returns:
- the requested object, or null if this object provider can not supply an object
Copyright © 2003-2012 The Apache Software Foundation.