org.apache.tools.ant.loader
Class AntClassLoader2

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--org.apache.tools.ant.AntClassLoader
              |
              +--org.apache.tools.ant.loader.AntClassLoader2
All Implemented Interfaces:
BuildListener, java.util.EventListener, SubBuildListener

public class AntClassLoader2
extends AntClassLoader

An implementation of the AntClassLoader suitable for use on post JDK 1.1 platforms


Constructor Summary
AntClassLoader2()
          Constructor
 
Method Summary
protected  void addPathFile(java.io.File pathComponent)
          Add a file to the path.
protected  java.lang.Class defineClassFromData(java.io.File container, byte[] classData, java.lang.String className)
          Define a class given its bytes
protected  void definePackage(java.io.File container, java.lang.String className)
          Define the package information associated with a class.
protected  void definePackage(java.io.File container, java.lang.String packageName, java.util.jar.Manifest manifest)
          Define the package information when the class comes from a jar with a manifest
 
Methods inherited from class org.apache.tools.ant.AntClassLoader
addJavaLibraries, addLoaderPackageRoot, addPathElement, addSystemPackageRoot, buildFinished, buildStarted, cleanup, findClass, findResources, forceLoadClass, forceLoadSystemClass, getClasspath, getResource, getResourceAsStream, getResourceURL, initializeClass, isInPath, loadClass, log, messageLogged, resetThreadContextLoader, setClassPath, setIsolated, setParent, setParentFirst, setProject, setThreadContextLoader, subBuildFinished, subBuildStarted, targetFinished, targetStarted, taskFinished, taskStarted
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResource, findSystemClass, getPackage, getPackages, getParent, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AntClassLoader2

public AntClassLoader2()
Constructor

Method Detail

defineClassFromData

protected java.lang.Class defineClassFromData(java.io.File container,
                                              byte[] classData,
                                              java.lang.String className)
                                       throws java.io.IOException
Define a class given its bytes

Overrides:
defineClassFromData in class AntClassLoader
Parameters:
container - the container from which the class data has been read may be a directory or a jar/zip file.
classData - the bytecode data for the class
className - the name of the class
Returns:
the Class instance created from the given data
Throws:
java.io.IOException - if the class data cannot be read.

definePackage

protected void definePackage(java.io.File container,
                             java.lang.String className)
                      throws java.io.IOException
Define the package information associated with a class.

Parameters:
container - the file containing the class definition.
className - the class name of for which the package information is to be determined.
Throws:
java.io.IOException - if the package information cannot be read from the container.

definePackage

protected void definePackage(java.io.File container,
                             java.lang.String packageName,
                             java.util.jar.Manifest manifest)
Define the package information when the class comes from a jar with a manifest

Parameters:
container - the jar file containing the manifest
packageName - the name of the package being defined.
manifest - the jar's manifest

addPathFile

protected void addPathFile(java.io.File pathComponent)
                    throws java.io.IOException
Add a file to the path. This classloader reads the manifest, if available, and adds any additional class path jars specified in the manifest.

Overrides:
addPathFile in class AntClassLoader
Parameters:
pathComponent - the file which is to be added to the path for this class loader
Throws:
java.io.IOException - if data needed from the file cannot be read.


Copyright 2000-2005 Apache Software Foundation. All Rights Reserved.