|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.ClassLoader
com.trackstudio.tools.ShellClassLoader
public class ShellClassLoader
This class is used for control user's abulity to execute some dangerous code from anywhere. It loads allowed classes only
Constructor Summary | |
---|---|
protected |
ShellClassLoader()
|
Method Summary | |
---|---|
void |
addImport(java.lang.String classPattern)
Adds class or package name to allowed classes (DO NOT use asteriks to specify a package) |
boolean |
classAllowed(java.lang.String className)
|
java.lang.String |
getImports()
|
static java.lang.ClassLoader |
getInstance()
getting instance of ClassLoader |
java.lang.Class |
loadClass(java.lang.String name)
This is a simple version for external clients since they will always want the class resolved before it is returned to them. |
java.lang.Class |
loadClass(java.lang.String name,
boolean resolve)
|
void |
removeAllImport(java.lang.String classPattern)
removes class or package and all it's classes from allowed list |
void |
removeImport(java.lang.String classPattern)
removes class or package from allowed classes list |
Methods inherited from class java.lang.ClassLoader |
---|
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
protected ShellClassLoader()
Method Detail |
---|
public java.lang.String getImports()
public static java.lang.ClassLoader getInstance()
public void addImport(java.lang.String classPattern)
classPattern
- pattern to usepublic void removeImport(java.lang.String classPattern)
classPattern
- pattern of classes namespublic void removeAllImport(java.lang.String classPattern)
classPattern
- pattern of package namepublic boolean classAllowed(java.lang.String className)
className
- Class name
public java.lang.Class loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
public java.lang.Class loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |