Class ServiceResourcesImpl
java.lang.Object
org.apache.tapestry5.ioc.internal.ObjectLocatorImpl
org.apache.tapestry5.ioc.internal.ServiceResourcesImpl
- All Implemented Interfaces:
ObjectLocator
,AnnotationAccess
,ModuleBuilderSource
,ServiceBuilderResources
,ServiceResources
Implementation of
ServiceBuilderResources
. We just have one
implementation that fills the purposes of methods that need a ServiceResources
(which includes service decorator methods) as well as methods that need a
ServiceBuilderResources
(which is just service builder methods). Since it is most
commonly used for the former, we'll just leave the name as ServiceResourcesImpl.-
Constructor Summary
ConstructorsConstructorDescriptionServiceResourcesImpl
(InternalRegistry registry, Module module, ServiceDef3 serviceDef, PlasticProxyFactory proxyFactory, org.slf4j.Logger logger) -
Method Summary
Modifier and TypeMethodDescription<T> T
Autobuilds a class by finding the public constructor with the most parameters.<T> T
Preferred version ofObjectLocator.autobuild(Class)
that tracks the operation usingOperationTracker.invoke(String, org.apache.tapestry5.ioc.Invokable)
.Returns a provider for annotations on the service class and interface.org.slf4j.Logger
Returns a Logger appropriate for logging messages.<K,
V> Map<K, V> getMappedConfiguration
(Class<K> keyType, Class<V> valueType) getMethodAnnotationProvider
(String methodName, Class... parameterTypes) Returns a provider for annotations of a method of the class.Returns the instantiated version of the Tapestry IoC module class.<T> List<T>
getOrderedConfiguration
(Class<T> valueType) Returns the fully qualified id of the service.Returns the service implementation.Returns the service interface implemented by the service.Returns an object that can be used to track operations related to constructing, configuring, decorating and initializing the service.<T> Collection<T>
getUnorderedConfiguration
(Class<T> valueType) Methods inherited from class org.apache.tapestry5.ioc.internal.ObjectLocatorImpl
getObject, getService, getService, getService, proxy
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.tapestry5.commons.ObjectLocator
getObject, getService, getService, getService, proxy
-
Constructor Details
-
ServiceResourcesImpl
public ServiceResourcesImpl(InternalRegistry registry, Module module, ServiceDef3 serviceDef, PlasticProxyFactory proxyFactory, org.slf4j.Logger logger)
-
-
Method Details
-
getServiceId
Description copied from interface:ServiceResources
Returns the fully qualified id of the service.- Specified by:
getServiceId
in interfaceServiceResources
-
getServiceInterface
Description copied from interface:ServiceResources
Returns the service interface implemented by the service.- Specified by:
getServiceInterface
in interfaceServiceResources
-
getServiceImplementation
Description copied from interface:ServiceResources
Returns the service implementation.- Specified by:
getServiceImplementation
in interfaceServiceResources
-
getLogger
Description copied from interface:ServiceResources
Returns a Logger appropriate for logging messages. This includes debug level messages about the creation and configuration of the underlying service, as well as debug, warning, or error level messages from the service itself. Often service interceptors will make use of the service's logger.- Specified by:
getLogger
in interfaceServiceResources
-
getUnorderedConfiguration
- Specified by:
getUnorderedConfiguration
in interfaceServiceBuilderResources
-
getOrderedConfiguration
- Specified by:
getOrderedConfiguration
in interfaceServiceBuilderResources
-
getMappedConfiguration
- Specified by:
getMappedConfiguration
in interfaceServiceBuilderResources
-
getModuleBuilder
Description copied from interface:ModuleBuilderSource
Returns the instantiated version of the Tapestry IoC module class.- Specified by:
getModuleBuilder
in interfaceModuleBuilderSource
-
autobuild
Description copied from interface:ObjectLocator
Preferred version ofObjectLocator.autobuild(Class)
that tracks the operation usingOperationTracker.invoke(String, org.apache.tapestry5.ioc.Invokable)
.- Specified by:
autobuild
in interfaceObjectLocator
- Overrides:
autobuild
in classObjectLocatorImpl
- Parameters:
description
- description used withOperationTracker
clazz
- the type of object to instantiate- Returns:
- the instantiated instance
-
autobuild
Description copied from interface:ObjectLocator
Autobuilds a class by finding the public constructor with the most parameters. Services and other resources or dependencies will be injected into the parameters of the constructor and into private fields marked with theInject
annotation. There are two cases: constructing a service implementation, and constructing an arbitrary object. In the former case, many service resources are also available for injection, not just dependencies or objects provided via the MasterObjectProvider service.- Specified by:
autobuild
in interfaceObjectLocator
- Overrides:
autobuild
in classObjectLocatorImpl
- Parameters:
clazz
- the type of object to instantiate- Returns:
- the instantiated instance
-
getTracker
Description copied from interface:ServiceResources
Returns an object that can be used to track operations related to constructing, configuring, decorating and initializing the service.- Specified by:
getTracker
in interfaceServiceResources
-
getImplementationClass
-
getClassAnnotationProvider
Description copied from interface:AnnotationAccess
Returns a provider for annotations on the service class and interface. This will reflect annotations defined by the implementation class itself, plus annotations defined by the service interface (implementation class annotations take precedence).- Specified by:
getClassAnnotationProvider
in interfaceAnnotationAccess
- Returns:
- an AnnotationProvider instance.
-
getMethodAnnotationProvider
Description copied from interface:AnnotationAccess
Returns a provider for annotations of a method of the class. This includes annotations on the implementation method, plus annotations on the corresponding service interface method (if such a method exists), with precedence on the implementation class method annotations.- Specified by:
getMethodAnnotationProvider
in interfaceAnnotationAccess
- Parameters:
methodName
- the name of the method.parameterTypes
- the types of the parameters of the method.- Returns:
- an AnnotationProvider instance. *
-