Apache Tomcat 7.0.28

org.apache.catalina
Interface Loader

All Known Implementing Classes:
VirtualWebappLoader, WebappLoader

public interface Loader

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:

Version:
$Id: Loader.java 1200160 2011-11-10 05:35:13Z kkolinko $
Author:
Craig R. McClanahan

Method Summary
 void addPropertyChangeListener(PropertyChangeListener listener)
          Add a property change listener to this component.
 void addRepository(String repository)
          Add a new repository to the set of repositories for this class loader.
 void backgroundProcess()
          Execute a periodic task, such as reloading, etc.
 String[] findRepositories()
          Return the set of repositories defined for this class loader.
 ClassLoader getClassLoader()
          Return the Java class loader to be used by this Container.
 Container getContainer()
          Return the Container with which this Loader has been associated.
 boolean getDelegate()
          Return the "follow standard delegation model" flag used to configure our ClassLoader.
 String getInfo()
          Return descriptive information about this Loader implementation and the corresponding version number, in the format <description>/<version>.
 boolean getReloadable()
          Return the reloadable flag for this Loader.
 boolean modified()
          Has the internal repository associated with this Loader been modified, such that the loaded classes should be reloaded?
 void removePropertyChangeListener(PropertyChangeListener listener)
          Remove a property change listener from this component.
 void setContainer(Container container)
          Set the Container with which this Loader has been associated.
 void setDelegate(boolean delegate)
          Set the "follow standard delegation model" flag used to configure our ClassLoader.
 void setReloadable(boolean reloadable)
          Set the reloadable flag for this Loader.
 

Method Detail

backgroundProcess

void backgroundProcess()
Execute a periodic task, such as reloading, etc. This method will be invoked inside the classloading context of this container. Unexpected throwables will be caught and logged.


getClassLoader

ClassLoader getClassLoader()
Return the Java class loader to be used by this Container.


getContainer

Container getContainer()
Return the Container with which this Loader has been associated.


setContainer

void setContainer(Container container)
Set the Container with which this Loader has been associated.

Parameters:
container - The associated Container

getDelegate

boolean getDelegate()
Return the "follow standard delegation model" flag used to configure our ClassLoader.


setDelegate

void setDelegate(boolean delegate)
Set the "follow standard delegation model" flag used to configure our ClassLoader.

Parameters:
delegate - The new flag

getInfo

String getInfo()
Return descriptive information about this Loader implementation and the corresponding version number, in the format <description>/<version>.


getReloadable

boolean getReloadable()
Return the reloadable flag for this Loader.


setReloadable

void setReloadable(boolean reloadable)
Set the reloadable flag for this Loader.

Parameters:
reloadable - The new reloadable flag

addPropertyChangeListener

void addPropertyChangeListener(PropertyChangeListener listener)
Add a property change listener to this component.

Parameters:
listener - The listener to add

addRepository

void addRepository(String repository)
Add a new repository to the set of repositories for this class loader.

Parameters:
repository - Repository to be added

findRepositories

String[] findRepositories()
Return the set of repositories defined for this class loader. If none are defined, a zero-length array is returned.


modified

boolean modified()
Has the internal repository associated with this Loader been modified, such that the loaded classes should be reloaded?


removePropertyChangeListener

void removePropertyChangeListener(PropertyChangeListener listener)
Remove a property change listener from this component.

Parameters:
listener - The listener to remove

Apache Tomcat 7.0.28

Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.