Package edu.mit.simile.butterfly
Class ButterflyClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- edu.mit.simile.butterfly.ButterflyClassLoader
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class ButterflyClassLoader extends URLClassLoader
This is Butterfly's own classloader that allows it to load classes and libraries from modules directly, instead of forcing them to be in the container's classpath or in the WEB-INF/(classes|lib) folders. This allows modules to be developed in isolation. Also, this classloader is capable of monitoring changes to the loaded classes (or to special files that we want watched for changes) and it's capable of executing a given Runnable action when such changes occur.
-
-
Constructor Summary
Constructors Constructor Description ButterflyClassLoader(ClassLoader parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddRepository(File repository)TimerTaskgetClassLoaderWatcher(Runnable trigger)voidwatch(File file)-
Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findClass, findResource, findResources, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
-
Methods inherited from class java.security.SecureClassLoader
defineClass, defineClass
-
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, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
ButterflyClassLoader
public ButterflyClassLoader(ClassLoader parent)
-
-