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
public class ServiceResourcesImpl extends ObjectLocatorImpl implements ServiceBuilderResources
Implementation ofServiceBuilderResources
. We just have one implementation that fills the purposes of methods that need aServiceResources
(which includes service decorator methods) as well as methods that need aServiceBuilderResources
(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
Constructors Constructor Description ServiceResourcesImpl(InternalRegistry registry, Module module, ServiceDef3 serviceDef, PlasticProxyFactory proxyFactory, org.slf4j.Logger logger)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> T
autobuild(Class<T> clazz)
Autobuilds a class by finding the public constructor with the most parameters.<T> T
autobuild(String description, Class<T> clazz)
Preferred version ofObjectLocator.autobuild(Class)
that tracks the operation usingOperationTracker.invoke(String, org.apache.tapestry5.ioc.Invokable)
.AnnotationProvider
getClassAnnotationProvider()
Returns a provider for annotations on the service class and interface.Class
getImplementationClass()
org.slf4j.Logger
getLogger()
Returns a Logger appropriate for logging messages.<K,V>
Map<K,V>getMappedConfiguration(Class<K> keyType, Class<V> valueType)
AnnotationProvider
getMethodAnnotationProvider(String methodName, Class... parameterTypes)
Returns a provider for annotations of a method of the class.Object
getModuleBuilder()
Returns the instantiated version of the Tapestry IoC module class.<T> List<T>
getOrderedConfiguration(Class<T> valueType)
String
getServiceId()
Returns the fully qualified id of the service.Class
getServiceImplementation()
Returns the service implementation.Class
getServiceInterface()
Returns the service interface implemented by the service.OperationTracker
getTracker()
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 Detail
-
ServiceResourcesImpl
public ServiceResourcesImpl(InternalRegistry registry, Module module, ServiceDef3 serviceDef, PlasticProxyFactory proxyFactory, org.slf4j.Logger logger)
-
-
Method Detail
-
getServiceId
public String getServiceId()
Description copied from interface:ServiceResources
Returns the fully qualified id of the service.- Specified by:
getServiceId
in interfaceServiceResources
-
getServiceInterface
public Class getServiceInterface()
Description copied from interface:ServiceResources
Returns the service interface implemented by the service.- Specified by:
getServiceInterface
in interfaceServiceResources
-
getServiceImplementation
public Class getServiceImplementation()
Description copied from interface:ServiceResources
Returns the service implementation.- Specified by:
getServiceImplementation
in interfaceServiceResources
-
getLogger
public org.slf4j.Logger 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
public <T> Collection<T> getUnorderedConfiguration(Class<T> valueType)
- Specified by:
getUnorderedConfiguration
in interfaceServiceBuilderResources
-
getOrderedConfiguration
public <T> List<T> getOrderedConfiguration(Class<T> valueType)
- Specified by:
getOrderedConfiguration
in interfaceServiceBuilderResources
-
getMappedConfiguration
public <K,V> Map<K,V> getMappedConfiguration(Class<K> keyType, Class<V> valueType)
- Specified by:
getMappedConfiguration
in interfaceServiceBuilderResources
-
getModuleBuilder
public Object getModuleBuilder()
Description copied from interface:ModuleBuilderSource
Returns the instantiated version of the Tapestry IoC module class.- Specified by:
getModuleBuilder
in interfaceModuleBuilderSource
-
autobuild
public <T> T autobuild(String description, Class<T> clazz)
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
public <T> T autobuild(Class<T> clazz)
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
public OperationTracker 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
public Class getImplementationClass()
-
getClassAnnotationProvider
public AnnotationProvider 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
public AnnotationProvider getMethodAnnotationProvider(String methodName, Class... parameterTypes)
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. *
-
-