public interface ProxyServices extends Service
Support services related to proxy generation and serialization which are required to be implemented by all containers.
These services are used by all Weld proxy classes to ensure the correct class loaders are used and to aid in the serialization and deserialization of these classes across container instances.
Required in all environments since proxies are always in use. A default implementation will be used if none are provided by the container which will use the information directly from the type of proxy.
ProxyServices
is a per-deployment service.
Modifier and Type | Method and Description |
---|---|
ClassLoader |
getClassLoader(Class<?> proxiedBeanType)
Returns the class loader that will load the proxy class which extends or implements the given type.
|
Class<?> |
loadBeanClass(String className)
Loads classes or interfaces extended/implemented by a bean or in particular a proxy class for a bean.
|
ClassLoader getClassLoader(Class<?> proxiedBeanType)
proxiedBeanType
- the base type (class or interface) being proxiedClass<?> loadBeanClass(String className)
Loads classes or interfaces extended/implemented by a bean or in particular a proxy class for a bean. This includes application types of the bean as well as Weld types used for proxy classes. Thus the class loader(s) used here must be able to resolve both application classes and Weld implementation classes.
This method is only called during deserialization of a proxy object. It does not necessarily need to use the same class
loader that the proxy class itself exists in since getClassLoader(Class)
will still be used to get the correct
class loader for the bean type.
className
- the class nameCopyright © 2008–2017. All rights reserved.