|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.ClassLoader
org.vostok.lang.classes.DynamicClassLoader
public class DynamicClassLoader
A ClassFinder that allow loading classes from absolute url at runtime. Intended to be used with modular application (plugin).
ClassLoader
Field Summary | |
---|---|
protected java.util.Hashtable<java.lang.String,java.lang.String[]> |
cache
cache toutes les recherches de correspondance |
protected java.util.Hashtable<java.lang.String,java.lang.Class> |
classes
liste des classes trouvées dans les jar |
protected java.io.File |
directory
le répertoire scanné |
protected java.util.List<java.lang.String> |
jar
les jar effectivment chargés |
Method Summary | ||
---|---|---|
protected java.lang.Class<?> |
findClass(java.lang.String name)
|
|
java.io.File |
getDirectory()
Directory this loaded managed |
|
boolean |
hasClass(java.lang.String c)
vrai si ce class loader a charge la classe definie par c |
|
static DynamicClassLoader |
newInstance(java.io.File directory)
Load classes from this directory (and sub directories and jar files) |
|
|
newObjectInstance(java.lang.Class<E> type,
java.lang.String name)
create new instance of a class, casting is as "type". |
|
java.lang.Object |
newObjectInstance(java.lang.String name)
create new instance of a class. |
|
java.lang.String[] |
whoImplement(java.lang.Class toimplement)
find all classes using 'toimplement'. |
|
java.lang.String[] |
whoImplement(java.lang.String toimplement)
|
Methods inherited from class java.lang.ClassLoader |
---|
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findResource, findResources, 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, toString, wait, wait, wait |
Field Detail |
---|
protected java.io.File directory
protected java.util.List<java.lang.String> jar
protected java.util.Hashtable<java.lang.String,java.lang.Class> classes
protected java.util.Hashtable<java.lang.String,java.lang.String[]> cache
Method Detail |
---|
public java.io.File getDirectory()
public boolean hasClass(java.lang.String c)
c
-
public static DynamicClassLoader newInstance(java.io.File directory) throws NotADirectoryException, java.io.IOException
directory
- directory to scan for classes
NotADirectoryException
- si directory n'est pas un repertoire
java.io.IOException
public java.lang.String[] whoImplement(java.lang.Class toimplement)
target
- base class / interface to look for
public java.lang.String[] whoImplement(java.lang.String toimplement)
toimplement
-
public <E> E newObjectInstance(java.lang.Class<E> type, java.lang.String name) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException
E
- type
- type expectedname
- full calified name of the class
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
public java.lang.Object newObjectInstance(java.lang.String name) throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException
E
- type
- type expectedname
- full calified name of the class
java.lang.ClassNotFoundException
java.lang.InstantiationException
java.lang.IllegalAccessException
protected java.lang.Class<?> findClass(java.lang.String name) throws java.lang.ClassNotFoundException
findClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |