|
IcedTea-Web NetX |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
net.sourceforge.jnlp.runtime.JNLPClassLoader
public class JNLPClassLoader
Classloader that takes it's resources from a JNLP file. If the JNLP file defines extensions, separate classloaders for these will be created automatically. Classes are loaded with the security context when the classloader was created.
Nested Class Summary | |
---|---|
static class |
JNLPClassLoader.CodeBaseClassLoader
|
Constructor Summary | |
---|---|
protected |
JNLPClassLoader(JNLPFile file,
UpdatePolicy policy)
Create a new JNLPClassLoader from the specified file. |
Method Summary | |
---|---|
protected void |
activateJars(java.util.List<JARDesc> jars)
Ensures that the list of jars have all been transferred, and makes them available to the classloader. |
protected void |
activateNative(JARDesc jar)
Search for and enable any native code contained in a JAR by copying the native files into the filesystem. |
protected void |
addAvailable()
Adds whatever resources have already been downloaded in the background. |
protected void |
addNativeDirectory(java.io.File nativeDirectory)
Adds the File to the search path of this JNLPClassLoader
when trying to find a native library |
protected JNLPClassLoader |
addNextResource()
Adds the next unused resource to the classloader. |
protected void |
addPermission(java.security.Permission p)
|
void |
enableCodeBase()
Add applet's codebase URL. |
protected void |
fillInPartJars(java.util.List<JARDesc> jars)
Adds to the specified list of JARS any other JARs that need to be loaded at the same time as the JARs specified (ie, are in the same part). |
protected java.lang.Class |
findClass(java.lang.String name)
Find the class in this loader or any of its extension loaders. |
protected java.lang.String |
findLibrary(java.lang.String lib)
Return the absolute path to the native library. |
protected java.lang.String |
findLibraryExt(java.lang.String lib)
Try to find the library path from another peer classloader. |
protected java.lang.Class |
findLoadedClassAll(java.lang.String name)
Find the loaded class in this loader or any of its extension loaders. |
java.util.Enumeration<java.net.URL> |
findResources(java.lang.String name)
Finds the resource in this, the parent, or the extension class loaders. |
ApplicationInstance |
getApplication()
Returns the JNLP app for this classloader |
protected SecurityDesc |
getCodeSourceSecurity(java.net.URL source)
Returns the security descriptor for given code source URL |
java.lang.String |
getExtensionHREF()
Deprecated. |
java.lang.String |
getExtensionName()
Deprecated. |
static JNLPClassLoader |
getInstance(JNLPFile file,
UpdatePolicy policy)
Returns a JNLP classloader for the specified JNLP file. |
static JNLPClassLoader |
getInstance(java.net.URL location,
java.lang.String uniqueKey,
Version version,
UpdatePolicy policy)
Returns a JNLP classloader for the JNLP file at the specified location. |
JNLPFile |
getJNLPFile()
Returns the JNLP file the classloader was created from. |
protected java.io.File |
getNativeDir()
Return the base directory to store native code files in. |
protected java.util.List<java.io.File> |
getNativeDirectories()
Returns a list of all directories in the search path of the current classloader when it tires to find a native library. |
protected java.security.PermissionCollection |
getPermissions(java.security.CodeSource cs)
Returns the permissions for the CodeSource. |
java.net.URL |
getResource(java.lang.String name)
Finds the resource in this, the parent, or the extension class loaders. |
protected SecurityDesc |
getSecurity()
|
boolean |
getSigning()
|
java.lang.Class<?> |
loadClass(java.lang.String name)
Find a JAR in the shared 'extension' classloaders, this classloader, or one of the classloaders for the JNLP file's extensions. |
boolean |
resourceAvailableLocally(java.lang.String s)
Returns if the specified resource is available locally from a cached jar |
void |
setApplication(ApplicationInstance app)
Sets the JNLP app this group is for; can only be called once. |
Methods inherited from class java.net.URLClassLoader |
---|
addURL, definePackage, findResource, 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, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, 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 |
Constructor Detail |
---|
protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy) throws LaunchException
file
- the JNLP file
LaunchException
Method Detail |
---|
public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy) throws LaunchException
file
- the file to load classes forpolicy
- the update policy to use when downloading resources
LaunchException
public static JNLPClassLoader getInstance(java.net.URL location, java.lang.String uniqueKey, Version version, UpdatePolicy policy) throws java.io.IOException, ParseException, LaunchException
location
- the file's locationversion
- the file's versionpolicy
- the update policy to use when downloading resources
java.io.IOException
ParseException
LaunchException
public void enableCodeBase()
public void setApplication(ApplicationInstance app)
public ApplicationInstance getApplication()
public JNLPFile getJNLPFile()
protected java.security.PermissionCollection getPermissions(java.security.CodeSource cs)
getPermissions
in class java.net.URLClassLoader
protected void addPermission(java.security.Permission p)
protected void fillInPartJars(java.util.List<JARDesc> jars)
protected void activateJars(java.util.List<JARDesc> jars)
jars
- the list of jars to loadprotected void activateNative(JARDesc jar)
protected java.io.File getNativeDir()
protected void addNativeDirectory(java.io.File nativeDirectory)
File
to the search path of this JNLPClassLoader
when trying to find a native library
protected java.util.List<java.io.File> getNativeDirectories()
protected java.lang.String findLibrary(java.lang.String lib)
findLibrary
in class java.lang.ClassLoader
protected java.lang.String findLibraryExt(java.lang.String lib)
protected java.lang.Class findLoadedClassAll(java.lang.String name)
public java.lang.Class<?> loadClass(java.lang.String name) throws java.lang.ClassNotFoundException
loadClass
in class java.lang.ClassLoader
java.lang.ClassNotFoundException
protected java.lang.Class findClass(java.lang.String name) throws java.lang.ClassNotFoundException
findClass
in class java.net.URLClassLoader
java.lang.ClassNotFoundException
public java.net.URL getResource(java.lang.String name)
getResource
in class java.lang.ClassLoader
public java.util.Enumeration<java.net.URL> findResources(java.lang.String name) throws java.io.IOException
findResources
in class java.net.URLClassLoader
java.io.IOException
public boolean resourceAvailableLocally(java.lang.String s)
s
- The name of the resource
protected void addAvailable()
protected JNLPClassLoader addNextResource()
@Deprecated public java.lang.String getExtensionName()
@Deprecated public java.lang.String getExtensionHREF()
public boolean getSigning()
protected SecurityDesc getSecurity()
protected SecurityDesc getCodeSourceSecurity(java.net.URL source)
source
- the origin (remote) url of the code
|
IcedTea-Web NetX |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |