net.imagej.launcher
Class ClassLoaderPlus

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by net.imagej.launcher.ClassLoaderPlus

public class ClassLoaderPlus
extends URLClassLoader

A classloader whose classpath can be augmented after instantiation.

Author:
Johannes Schindelin

Nested Class Summary
static class ClassLoaderPlus.FatJarFileComparator
          Comparator to ensure that problematic fat JARs are sorted last.
 
Field Summary
protected static Method addURL
           
protected static Set<ClassLoader> frozen
           
protected static Map<URLClassLoader,List<URL>> urlsMap
           
 
Constructor Summary
ClassLoaderPlus()
           
ClassLoaderPlus(URL... urls)
           
 
Method Summary
static void add(URLClassLoader classLoader, File file)
           
static void add(URLClassLoader classLoader, String path)
           
static void add(URLClassLoader classLoader, URL url)
           
static void addInImageJDirectory(URLClassLoader classLoader, String relativePath)
           
static void freeze(ClassLoader classLoader)
           
static URLClassLoader get(URLClassLoader classLoader, File... files)
           
static URLClassLoader get(URLClassLoader classLoader, URL... urls)
           
static String getClassPath(ClassLoader classLoader)
           
static String getImageJDir()
           
static URLClassLoader getInImageJDirectory(URLClassLoader classLoader, String... relativePaths)
           
static String getJarPath(ClassLoader classLoader, String className)
           
static File getPossiblyVersionedFile(File file)
           
static URLClassLoader getRecursively(URLClassLoader classLoader, boolean onlyJars, File directory)
           
static URLClassLoader getRecursively(URLClassLoader classLoader, File directory)
           
static URLClassLoader getRecursivelyInImageJDirectory(URLClassLoader classLoader, boolean onlyJars, String... relativePaths)
           
static URLClassLoader getRecursivelyInImageJDirectory(URLClassLoader classLoader, String... relativePaths)
           
 String toString()
           
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, findClass, findResource, findResources, getPermissions, 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, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

frozen

protected static Set<ClassLoader> frozen

urlsMap

protected static Map<URLClassLoader,List<URL>> urlsMap

addURL

protected static Method addURL
Constructor Detail

ClassLoaderPlus

public ClassLoaderPlus()

ClassLoaderPlus

public ClassLoaderPlus(URL... urls)
Method Detail

getInImageJDirectory

public static URLClassLoader getInImageJDirectory(URLClassLoader classLoader,
                                                  String... relativePaths)

get

public static URLClassLoader get(URLClassLoader classLoader,
                                 File... files)

get

public static URLClassLoader get(URLClassLoader classLoader,
                                 URL... urls)

getRecursivelyInImageJDirectory

public static URLClassLoader getRecursivelyInImageJDirectory(URLClassLoader classLoader,
                                                             String... relativePaths)

getRecursivelyInImageJDirectory

public static URLClassLoader getRecursivelyInImageJDirectory(URLClassLoader classLoader,
                                                             boolean onlyJars,
                                                             String... relativePaths)

getRecursively

public static URLClassLoader getRecursively(URLClassLoader classLoader,
                                            File directory)

getRecursively

public static URLClassLoader getRecursively(URLClassLoader classLoader,
                                            boolean onlyJars,
                                            File directory)

toString

public String toString()
Overrides:
toString in class Object

addInImageJDirectory

public static void addInImageJDirectory(URLClassLoader classLoader,
                                        String relativePath)

add

public static void add(URLClassLoader classLoader,
                       String path)
                throws MalformedURLException
Throws:
MalformedURLException

add

public static void add(URLClassLoader classLoader,
                       File file)
                throws MalformedURLException
Throws:
MalformedURLException

add

public static void add(URLClassLoader classLoader,
                       URL url)

freeze

public static void freeze(ClassLoader classLoader)

getClassPath

public static String getClassPath(ClassLoader classLoader)

getImageJDir

public static String getImageJDir()
                           throws ClassNotFoundException
Throws:
ClassNotFoundException

getJarPath

public static String getJarPath(ClassLoader classLoader,
                                String className)

getPossiblyVersionedFile

public static File getPossiblyVersionedFile(File file)


Copyright © 2009–2016 ImageJ. All rights reserved.