php.java.bridge
Class DynamicJavaBridgeClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by java.security.SecureClassLoader
          extended by php.java.bridge.DynamicClassLoader
              extended by php.java.bridge.DynamicJavaBridgeClassLoader

public class DynamicJavaBridgeClassLoader
extends DynamicClassLoader


Field Summary
 
Fields inherited from class php.java.bridge.DynamicClassLoader
defaultCacheTimeout, defaultLazy
 
Method Summary
 void addSysUrls()
           
 void clear()
           
static void initClassLoader(java.lang.String phpConfigDir)
          add all jars found in the phpConfigDir/lib and /usr/share/java to the list of our URLs.
 java.lang.Class loadClass(java.lang.String name)
          I have decided to override loadClass instead of findClass, so that this method will actually get to re-load classes if neccessary.
static DynamicJavaBridgeClassLoader newInstance()
          Create an instance of the dynamic java bridge classloader It may return null due to security restrictions on certain systems, so don't use this method directly but call: new JavaBridgeClassLoader(bridge, DynamicJavaBridgeClassLoader.newInstance()) instead.
static DynamicJavaBridgeClassLoader newInstance(java.lang.ClassLoader parent)
          Create an instance of the dynamic java bridge classloader It may return null due to security restrictions on certain systems, so don't use this method directly but call: new JavaBridgeClassLoader(bridge, DynamicJavaBridgeClassLoader.newInstance()) instead.
 void reset()
          Reset to initial state.
 void updateJarLibraryPath(java.lang.String rawPath, java.lang.String rawContextDir)
          Set the library path for the java bridge.
 
Methods inherited from class php.java.bridge.DynamicClassLoader
addURL, addURL, addURLs, addURLs, addURLs, addURLs, clearCache, clearCaches, debugMsg, findResource, findResources, getStringFromURLArray, getURLArrayFromString, invalidate, invalidate, setCacheTimeout, setLazy, setUrlClassLoaderFactory
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

updateJarLibraryPath

public void updateJarLibraryPath(java.lang.String rawPath,
                                 java.lang.String rawContextDir)
Set the library path for the java bridge. Examples: setJarLibPath(";file:///tmp/test.jar;file:///tmp/my.jar"); setJarLibPath("|file:c:/t.jar|http://.../a.jar|jar:file:///tmp/x.jar!/"); The first char must be the token separator.


initClassLoader

public static void initClassLoader(java.lang.String phpConfigDir)
add all jars found in the phpConfigDir/lib and /usr/share/java to the list of our URLs. The user is expected to symbol .jar libraries explicitly with java_set_library_path, e.g. java_set_library_path("foo.jar;bar.jar"); For backward compatibility we add all URLs we encountered during startup before throwing a "ClassNotFoundException".


addSysUrls

public void addSysUrls()

clear

public void clear()
Overrides:
clear in class DynamicClassLoader

reset

public void reset()
Reset to initial state.


loadClass

public java.lang.Class loadClass(java.lang.String name)
                          throws java.lang.ClassNotFoundException
Description copied from class: DynamicClassLoader
I have decided to override loadClass instead of findClass, so that this method will actually get to re-load classes if neccessary. Otherwise, the Java system would call the final method "getLoadedClass(name)", (i.e. use it's own caching) without dynamically re-loading classes if neccessary.

Overrides:
loadClass in class DynamicClassLoader
Throws:
java.lang.ClassNotFoundException

newInstance

public static DynamicJavaBridgeClassLoader newInstance()
Create an instance of the dynamic java bridge classloader It may return null due to security restrictions on certain systems, so don't use this method directly but call: new JavaBridgeClassLoader(bridge, DynamicJavaBridgeClassLoader.newInstance()) instead.


newInstance

public static DynamicJavaBridgeClassLoader newInstance(java.lang.ClassLoader parent)
Create an instance of the dynamic java bridge classloader It may return null due to security restrictions on certain systems, so don't use this method directly but call: new JavaBridgeClassLoader(bridge, DynamicJavaBridgeClassLoader.newInstance()) instead.