|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object java.lang.ClassLoader sysModel.MBSClassLoader
public class MBSClassLoader
Class loader used for loading fish classes.
Field Summary | |
---|---|
private java.util.ArrayList<java.lang.String> |
_buildinClasses
List of built-in classes that should not be checked and be loaded with the regular class loader. |
(package private) java.util.HashMap<java.lang.String,java.lang.Class<?>> |
_classes
Classes already loaded. |
private java.lang.String |
_classPathString
String with class path. |
private MBSSecurityManager |
_securityManager
Security manager in use. |
private static java.lang.String[] |
BUILTIN_CLASSES
Array of built-in classes that should not be checked and be loaded with the regular class loader. |
private static java.lang.String |
JAVA_HOME_STRING
String with the Java home directory. |
private static java.lang.String |
PATH_SEPARATOR_STRING
String with path separator character. |
private static char |
SEPARATOR_CHAR
Character with separator character. |
Constructor Summary | |
---|---|
MBSClassLoader(MBSSecurityManager securityManager)
Create a new class loader. |
Method Summary | |
---|---|
void |
checkClass(java.lang.String name,
byte[] classData)
Check if the class is safe to load. |
private byte[] |
loadBytes(java.lang.String name,
java.lang.String path)
Load byte array from name and path. |
java.lang.Class<?> |
loadClass(java.lang.String name,
boolean resolveIt)
Load a class. |
private java.lang.Class<?> |
loadFromClassPath(java.lang.String name,
boolean resolveIt)
Load class from class path. |
private byte[] |
loadFromStream(java.io.InputStream fi)
Load byte array from stream. |
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, 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 |
---|
java.util.HashMap<java.lang.String,java.lang.Class<?>> _classes
private java.lang.String _classPathString
private static final java.lang.String JAVA_HOME_STRING
private static final char SEPARATOR_CHAR
private static final java.lang.String PATH_SEPARATOR_STRING
private MBSSecurityManager _securityManager
private java.util.ArrayList<java.lang.String> _buildinClasses
private static final java.lang.String[] BUILTIN_CLASSES
Constructor Detail |
---|
public MBSClassLoader(MBSSecurityManager securityManager)
securityManager
- security manager that lets us enable and disable security measuresMethod Detail |
---|
public java.lang.Class<?> loadClass(java.lang.String name, boolean resolveIt) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
name
- class nameresolveIt
- resolve class?
java.lang.ClassNotFoundException
private java.lang.Class<?> loadFromClassPath(java.lang.String name, boolean resolveIt)
name
- class nameresolveIt
-
private byte[] loadBytes(java.lang.String name, java.lang.String path)
name
- class file name (without .class)path
- path to look in (or jar file)
private byte[] loadFromStream(java.io.InputStream fi) throws java.io.IOException
fi
- input stream
java.io.IOException
public void checkClass(java.lang.String name, byte[] classData)
name
- class nameclassData
- bytes of the class file
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |