# Class AuxClassLoader

java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
uk.ac.starlink.util.AuxClassLoader

All Implemented Interfaces:
  `Closeable, AutoCloseable`

public class AuxClassLoader extends URLClassLoader
This class provides a ClassLoader which looks on a given class path. In cases where an application is invoked using the extension mechanism (normally using `java -jar`) and hence gets its classpath from somewhere other than the environment (e.g. $CLASSPATH), this can pick up a different set of classes than the default/system ClassLoader. This will typically be of use where code wants to permit 'pluggability', that is allowing the user to make classes available to the system other than those known about at the build/install time for the rest of the application/infrastructure framework.

The default delegation ClassLoader is used as the parent of this one, so that the system classloader(?) will be queried for any classes before they are searched for on the given class.

Author:
  Mark Taylor (Starlink)

## Constructor Summary

Constructors
Constructor
Description
`AuxClassLoader(String classpath)`
Constructs a ClassLoader which will look on a given path.

## Method Summary

### Methods inherited from class URLClassLoader

`addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance`

### Methods inherited from class SecureClassLoader

`defineClass, defineClass`

### Methods inherited from class ClassLoader

`clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### AuxClassLoader

public AuxClassLoader(String classpath)
Constructs a ClassLoader which will look on a given path.

Parameters:
  `classpath` - a class path specified in the same format as the `java.class.path` system property