Package org.apache.tools.ant.util
Class SplitClassLoader
java.lang.Object
java.lang.ClassLoader
org.apache.tools.ant.AntClassLoader
org.apache.tools.ant.util.SplitClassLoader
- All Implemented Interfaces:
Closeable
,AutoCloseable
,EventListener
,BuildListener
,SubBuildListener
Specialized classloader for tasks that need finer grained control
over which classes are to be loaded via Ant's classloader and which
should not even if they are available.
-
Constructor Summary
ConstructorDescriptionSplitClassLoader
(ClassLoader parent, Path path, Project project, String[] splitClasses) -
Method Summary
Methods inherited from class org.apache.tools.ant.AntClassLoader
addJavaLibraries, addLoaderPackageRoot, addPathComponent, addPathElement, addPathFile, addSystemPackageRoot, buildFinished, buildStarted, cleanup, close, defineClassFromData, definePackage, definePackage, findClass, findResource, findResources, findResources, forceLoadClass, forceLoadSystemClass, getClasspath, getConfiguredParent, getNamedResources, getResource, getResourceAsStream, getResources, getResourceURL, initializeClass, isInPath, log, messageLogged, newAntClassLoader, resetThreadContextLoader, setClassPath, setIsolated, setParent, setParentFirst, setProject, setThreadContextLoader, subBuildFinished, subBuildStarted, targetFinished, targetStarted, taskFinished, taskStarted, toString
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
SplitClassLoader
- Parameters:
parent
- ClassLoaderpath
- Pathproject
- ProjectsplitClasses
- classes contained herein will not be loaded via Ant's classloader
-
-
Method Details
-
loadClass
Description copied from class:AntClassLoader
Loads a class with this class loader. This class attempts to load the class in an order determined by whether or not the class matches the system/loader package lists, with the loader package list taking priority. If the classloader is in isolated mode, failure to load the class in this loader will result in a ClassNotFoundException.- Overrides:
loadClass
in classAntClassLoader
- Parameters:
classname
- The name of the class to be loaded. Must not benull
.resolve
-true
if all classes upon which this class depends are to be loaded.- Returns:
- the required Class object
- Throws:
ClassNotFoundException
- if the requested class does not exist on the system classpath (when not in isolated mode) or this loader's classpath.
-