cz.cuni.utils
Class BotProjectsClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by java.net.URLClassLoader
              extended by cz.cuni.utils.BotProjectsClassLoader

public class BotProjectsClassLoader
extends java.net.URLClassLoader

Class loader searching for all jar files of compiled java bots. It loads all clesses from files matching pattern {$PROJ_NAME}/dist/{$PROJ_NAME}.jar


Constructor Summary
BotProjectsClassLoader()
           
BotProjectsClassLoader(java.lang.ClassLoader parent)
           
BotProjectsClassLoader(java.io.File projectsDir, java.lang.ClassLoader parent)
          Creates a new instance of BotProjectsClassLoader
 
Method Summary
protected  java.lang.Class<?> findClass(java.lang.String name)
           
static java.util.List<java.net.URL> getBotJar(java.io.File projectDir)
           
static java.net.URL[] getUrlsOfBotJars(java.io.File rootDir)
           
static void main(java.lang.String[] args)
           
 java.lang.String toString()
           
 
Methods inherited from class java.net.URLClassLoader
addURL, definePackage, 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
 

Constructor Detail

BotProjectsClassLoader

public BotProjectsClassLoader()

BotProjectsClassLoader

public BotProjectsClassLoader(java.lang.ClassLoader parent)

BotProjectsClassLoader

public BotProjectsClassLoader(java.io.File projectsDir,
                              java.lang.ClassLoader parent)
Creates a new instance of BotProjectsClassLoader

Parameters:
projectsDir - root directory where the search begins, all projects should be under this directory.
Method Detail

getUrlsOfBotJars

public static java.net.URL[] getUrlsOfBotJars(java.io.File rootDir)
Parameters:
rootDir -
Returns:
array of URLs of compiled bot projects.

getBotJar

public static java.util.List<java.net.URL> getBotJar(java.io.File projectDir)
Parameters:
projectDir - directory potentialy containing bot project.
Returns:
URL of jar file of project or null if this isn't project dir.

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

findClass

protected java.lang.Class<?> findClass(java.lang.String name)
                                throws java.lang.ClassNotFoundException
Overrides:
findClass in class java.net.URLClassLoader
Throws:
java.lang.ClassNotFoundException

main

public static void main(java.lang.String[] args)