| org.apache.catalina.Loader
All known Subclasses: org.apache.catalina.loader.WebappLoader,
Loader | public interface Loader (Code) | | A Loader represents a Java ClassLoader implementation that can
be used by a Container to load class files (within a repository associated
with the Loader) that are designed to be reloaded upon request, as well as
a mechanism to detect whether changes have occurred in the underlying
repository.
In order for a Loader implementation to successfully operate
with a Context implementation that implements reloading, it
must obey the following constraints:
- Must implement
Lifecycle so that the Context can indicate
that a new class loader is required.
- The
start() method must unconditionally create a new
ClassLoader implementation.
- The
stop() method must throw away its reference to the
ClassLoader previously utilized, so that the class loader,
all classes loaded by it, and all objects of those classes, can be
garbage collected.
- Must allow a call to
stop() to be followed by a call to
start() on the same Loader instance.
- Based on a policy chosen by the implementation, must call the
Context.reload() method on the owning Context
when a change to one or more of the class files loaded by this class
loader is detected.
author: Craig R. McClanahan version: $Revision: 1.5 $ $Date: 2001/07/22 20:13:30 $ |
addPropertyChangeListener | public void addPropertyChangeListener(PropertyChangeListener listener)(Code) | | Add a property change listener to this component.
Parameters: listener - The listener to add |
addRepository | public void addRepository(String repository)(Code) | | Add a new repository to the set of repositories for this class loader.
Parameters: repository - Repository to be added |
findRepositories | public String[] findRepositories()(Code) | | Return the set of repositories defined for this class loader.
If none are defined, a zero-length array is returned.
|
getClassLoader | public ClassLoader getClassLoader()(Code) | | Return the Java class loader to be used by this Container.
|
getContainer | public Container getContainer()(Code) | | Return the Container with which this Loader has been associated.
|
getDelegate | public boolean getDelegate()(Code) | | Return the "follow standard delegation model" flag used to configure
our ClassLoader.
|
getInfo | public String getInfo()(Code) | | Return descriptive information about this Loader implementation and
the corresponding version number, in the format
<description>/<version> .
|
getReloadable | public boolean getReloadable()(Code) | | Return the reloadable flag for this Loader.
|
modified | public boolean modified()(Code) | | Has the internal repository associated with this Loader been modified,
such that the loaded classes should be reloaded?
|
removePropertyChangeListener | public void removePropertyChangeListener(PropertyChangeListener listener)(Code) | | Remove a property change listener from this component.
Parameters: listener - The listener to remove |
setContainer | public void setContainer(Container container)(Code) | | Set the Container with which this Loader has been associated.
Parameters: container - The associated Container |
setDelegate | public void setDelegate(boolean delegate)(Code) | | Set the "follow standard delegation model" flag used to configure
our ClassLoader.
Parameters: delegate - The new flag |
setReloadable | public void setReloadable(boolean reloadable)(Code) | | Set the reloadable flag for this Loader.
Parameters: reloadable - The new reloadable flag |
|
|