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
ConstructorsModifierConstructorDescriptionprotectedAbstractReloadableObjectCreator(PlasticProxyFactory proxyFactory, ClassLoader baseClassLoader, String implementationClassName, org.slf4j.Logger logger, OperationTracker tracker) -
Method Summary
Modifier and TypeMethodDescriptionvoidInvoked to force the receiver to check for updates to whatever underlying resources it makes use of.protected abstract ObjectcreateInstance(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.booleanshouldInterceptClassLoading(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:UpdateListenerInvoked to force the receiver to check for updates to whatever underlying resources it makes use of.- Specified by:
checkForUpdatesin interfaceUpdateListener
-
createObject
Description copied from interface:ObjectCreatorCreate and return the object. In some limited circumstances, the implementation may cache the result, returning the same object for repeated calls.- Specified by:
createObjectin 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:ClassLoaderDelegateIdentifies which classes are to be loaded.- Specified by:
shouldInterceptClassLoadingin 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:ClassLoaderDelegateLoad the class, transforming it as necessary.- Specified by:
loadAndTransformClassin interfaceClassLoaderDelegate- Parameters:
className- binary class name- Returns:
- loaded and (if not an inner class) transformed class
- Throws:
ClassNotFoundException
-
doClassLoad
- Throws:
IOException
-