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
Constructors Modifier Constructor Description protected
AbstractReloadableObjectCreator(PlasticProxyFactory proxyFactory, ClassLoader baseClassLoader, String implementationClassName, org.slf4j.Logger logger, OperationTracker tracker)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
checkForUpdates()
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.Object
createObject()
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 Detail
-
AbstractReloadableObjectCreator
protected AbstractReloadableObjectCreator(PlasticProxyFactory proxyFactory, ClassLoader baseClassLoader, String implementationClassName, org.slf4j.Logger logger, OperationTracker tracker)
-
-
Method Detail
-
checkForUpdates
public void 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
public Object 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
protected abstract Object createInstance(Class clazz)
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
public boolean shouldInterceptClassLoading(String className)
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
public Class<?> loadAndTransformClass(String className) throws ClassNotFoundException
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
public Class<?> doClassLoad(String className) throws IOException
- Throws:
IOException
-
-