Class PlasticProxyFactoryImpl
java.lang.Object
org.apache.tapestry5.beanmodel.services.PlasticProxyFactoryImpl
- All Implemented Interfaces:
PlasticProxyFactory,PlasticClassListenerHub
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionPlasticProxyFactoryImpl(ClassLoader parentClassLoader, org.slf4j.Logger logger) PlasticProxyFactoryImpl(PlasticManager manager, org.slf4j.Logger logger) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddPlasticClassListener(PlasticClassListener listener) voidClears any cached information stored by the proxy factory; this is useful in Tapestry development mode when a class loader may have been discarded (because the proxy factory may indirectly keep references to classes loaded by the old class loader).<T> TcreateProxy(Class<T> interfaceType, Class<? extends T> implementationType, ObjectCreator<T> creator, String description) Creates a proxy instance that delegates all methods through a corresponding ObjectCreator.<T> ClassInstantiator<T>createProxy(Class<T> interfaceType, Class<? extends T> implementationType, PlasticClassTransformer callback) Same ascreateProxy(interfacetype, implementationType, callback, true)<T> ClassInstantiator<T>createProxy(Class<T> interfaceType, Class<? extends T> implementationType, PlasticClassTransformer callback, boolean introduceInterface) Creates a proxy object that implements the indicated interface and indicated service implementation type, then invokes the callback to further configure the proxy.<T> TcreateProxy(Class<T> interfaceType, ObjectCreator<T> creator, String description) Creates a proxy instance that delegates all methods through a corresponding ObjectCreator.<T> ClassInstantiator<T>createProxy(Class<T> interfaceType, PlasticClassTransformer callback) Creates a proxy object that implements the indicated interface, then invokes the callback to further configure the proxy.<T> PlasticClassTransformation<T>createProxyTransformation(Class<T> interfaceType) Creates the underlyingPlasticClassTransformationfor an interface proxy.<T> PlasticClassTransformation<T>createProxyTransformation(Class<T> interfaceType, Class<? extends T> implementationType) Creates the underlyingPlasticClassTransformationfor an interface proxy with a given implementation class.Returns the class loader used when creating new classes, this is a child class loader of another class loader (usually, the thread's context class loader).getConstructorLocation(Constructor constructor) Return a string representation for the constructor (including class and parameters) and (if available) file name and line number.getMemberLocation(Member member, String methodName, String memberTypeDesc, ObjectCreator<String> textDescriptionCreator) getMethodLocation(Method method) Converts a method to aLocation, which includes information about the source file name and line number.Returns the PlasticManager instance used by this PlasticProxyFactory.voidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.tapestry5.commons.services.PlasticProxyFactory
getProxyFactory
-
Field Details
-
INTERNAL_GET_DELEGATE
- See Also:
-
-
Constructor Details
-
PlasticProxyFactoryImpl
-
PlasticProxyFactoryImpl
-
-
Method Details
-
getClassLoader
Description copied from interface:PlasticProxyFactoryReturns the class loader used when creating new classes, this is a child class loader of another class loader (usually, the thread's context class loader).- Specified by:
getClassLoaderin interfacePlasticProxyFactory
-
createProxy
public <T> ClassInstantiator<T> createProxy(Class<T> interfaceType, Class<? extends T> implementationType, PlasticClassTransformer callback) Description copied from interface:PlasticProxyFactorySame ascreateProxy(interfacetype, implementationType, callback, true)- Specified by:
createProxyin interfacePlasticProxyFactory- Parameters:
interfaceType- interface implemented by proxyimplementationType- a class that implements the interfaceType. It can be null.callback- configures the proxy- Returns:
- instantiator that can be used to create an instance of the proxy class
-
createProxy
public <T> ClassInstantiator<T> createProxy(Class<T> interfaceType, Class<? extends T> implementationType, PlasticClassTransformer callback, boolean introduceInterface) Description copied from interface:PlasticProxyFactoryCreates a proxy object that implements the indicated interface and indicated service implementation type, then invokes the callback to further configure the proxy.- Specified by:
createProxyin interfacePlasticProxyFactory- Parameters:
interfaceType- interface implemented by proxyimplementationType- a class that implements the interfaceType. It can be null.callback- configures the proxy- Returns:
- instantiator that can be used to create an instance of the proxy class
-
createProxy
public <T> ClassInstantiator<T> createProxy(Class<T> interfaceType, PlasticClassTransformer callback) Description copied from interface:PlasticProxyFactoryCreates a proxy object that implements the indicated interface, then invokes the callback to further configure the proxy.- Specified by:
createProxyin interfacePlasticProxyFactory- Parameters:
interfaceType- interface implemented by proxycallback- configures the proxy- Returns:
- instantiator that can be used to create an instance of the proxy class
-
createProxyTransformation
public <T> PlasticClassTransformation<T> createProxyTransformation(Class<T> interfaceType, Class<? extends T> implementationType) Description copied from interface:PlasticProxyFactoryCreates the underlyingPlasticClassTransformationfor an interface proxy with a given implementation class. This should only be used in the cases where encapsulating the PlasticClass construction into a callback is not feasible (which is the case for some of the older APIs inside Tapestry IoC).- Specified by:
createProxyTransformationin interfacePlasticProxyFactory- Parameters:
interfaceType- class proxy will extend fromimplementationType- a class that implements the interfaceType. It can be null.- Returns:
- transformation from which an instantiator may be created
-
createProxyTransformation
Description copied from interface:PlasticProxyFactoryCreates the underlyingPlasticClassTransformationfor an interface proxy. This should only be used in the cases where encapsulating the PlasticClass construction into a callback is not feasible (which is the case for some of the older APIs inside Tapestry IoC).- Specified by:
createProxyTransformationin interfacePlasticProxyFactory- Parameters:
interfaceType- class proxy will extend from- Returns:
- transformation from which an instantiator may be created
-
createProxy
Description copied from interface:PlasticProxyFactoryCreates a proxy instance that delegates all methods through a corresponding ObjectCreator. Each method invocation on the proxy will route throughObjectCreator.createObject()(the creator implementation may decide to cache the return value as appropriate).- Specified by:
createProxyin interfacePlasticProxyFactory- Type Parameters:
T- type of proxy- Parameters:
interfaceType- interface class for proxycreator- object responsible for creating the real objectdescription- thetoString()of the proxy- Returns:
- proxy instance
-
createProxy
public <T> T createProxy(Class<T> interfaceType, Class<? extends T> implementationType, ObjectCreator<T> creator, String description) Description copied from interface:PlasticProxyFactoryCreates a proxy instance that delegates all methods through a corresponding ObjectCreator. Each method invocation on the proxy will route throughObjectCreator.createObject()(the creator implementation may decide to cache the return value as appropriate).- Specified by:
createProxyin interfacePlasticProxyFactory- Type Parameters:
T- type of proxy- Parameters:
interfaceType- interface class for proxyimplementationType- class that implements the interface type. It may be nullcreator- object responsible for creating the real objectdescription- thetoString()of the proxy- Returns:
- proxy instance
-
getMethodLocation
Description copied from interface:PlasticProxyFactoryConverts a method to aLocation, which includes information about the source file name and line number.- Specified by:
getMethodLocationin interfacePlasticProxyFactory- Parameters:
method- to look up- Returns:
- the location (identifying the method and possibly, the line number within the method)
-
getConstructorLocation
Description copied from interface:PlasticProxyFactoryReturn a string representation for the constructor (including class and parameters) and (if available) file name and line number.- Specified by:
getConstructorLocationin interfacePlasticProxyFactory- Returns:
- the location (identifying the constructor and possibly, the line number within the method)
-
clearCache
Description copied from interface:PlasticProxyFactoryClears any cached information stored by the proxy factory; this is useful in Tapestry development mode when a class loader may have been discarded (because the proxy factory may indirectly keep references to classes loaded by the old class loader).- Specified by:
clearCachein interfacePlasticProxyFactory
-
getMemberLocation
public Location getMemberLocation(Member member, String methodName, String memberTypeDesc, ObjectCreator<String> textDescriptionCreator) -
addPlasticClassListener
- Specified by:
addPlasticClassListenerin interfacePlasticClassListenerHub
-
removePlasticClassListener
- Specified by:
removePlasticClassListenerin interfacePlasticClassListenerHub
-
getPlasticManager
Description copied from interface:PlasticProxyFactoryReturns the PlasticManager instance used by this PlasticProxyFactory.- Specified by:
getPlasticManagerin interfacePlasticProxyFactory
-