Class AbstractReloadableObjectCreator
java.lang.Object
org.apache.tapestry5.ioc.internal.AbstractReloadableObjectCreator
- All Implemented Interfaces:
ObjectCreator
,ClassLoaderDelegate
,UpdateListener
- Direct Known Subclasses:
ReloadableObjectCreator
,ReloadableServiceImplementationObjectCreator
public abstract class AbstractReloadableObjectCreator
extends Object
implements ObjectCreator, UpdateListener, ClassLoaderDelegate
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
AbstractReloadableObjectCreator
(PlasticProxyFactory proxyFactory, ClassLoader baseClassLoader, String implementationClassName, org.slf4j.Logger logger, OperationTracker tracker) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Invoked to force the receiver to check for updates to whatever underlying resources it makes use of.protected abstract Object
createInstance
(Class clazz) Invoked when an instance of the class is needed.Create and return the object.Class<?>
doClassLoad
(String className) Class<?>
loadAndTransformClass
(String className) Load the class, transforming it as necessary.boolean
shouldInterceptClassLoading
(String className) Identifies which classes are to be loaded.
-
Constructor Details
-
AbstractReloadableObjectCreator
protected AbstractReloadableObjectCreator(PlasticProxyFactory proxyFactory, ClassLoader baseClassLoader, String implementationClassName, org.slf4j.Logger logger, OperationTracker tracker)
-
-
Method Details
-
checkForUpdates
Description copied from interface:UpdateListener
Invoked to force the receiver to check for updates to whatever underlying resources it makes use of.- Specified by:
checkForUpdates
in interfaceUpdateListener
-
createObject
Description copied from interface:ObjectCreator
Create and return the object. In some limited circumstances, the implementation may cache the result, returning the same object for repeated calls.- Specified by:
createObject
in interfaceObjectCreator
-
createInstance
Invoked when an instance of the class is needed. It is the responsibility of this method (as implemented in a subclass) to instantiate the class and inject dependencies into the class. -
shouldInterceptClassLoading
Description copied from interface:ClassLoaderDelegate
Identifies which classes are to be loaded.- Specified by:
shouldInterceptClassLoading
in interfaceClassLoaderDelegate
- Parameters:
className
- fully qualified class name- Returns:
- true if the class should be intercepted, false to let parent class loader load class
-
loadAndTransformClass
Description copied from interface:ClassLoaderDelegate
Load the class, transforming it as necessary.- Specified by:
loadAndTransformClass
in interfaceClassLoaderDelegate
- Parameters:
className
- binary class name- Returns:
- loaded and (if not an inner class) transformed class
- Throws:
ClassNotFoundException
-
doClassLoad
- Throws:
IOException
-