|
|||||||||
| Home >> All >> [ JSPservletPkg overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JSPservletPkg
Class JSPloader

java.lang.Objectjava.lang.ClassLoader
JSPservletPkg.JSPloader
- public class JSPloader
- extends java.lang.ClassLoader
ClassLoader invoked by ClassEntry for a given jar name.
Copyright (c) 2000-2001
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
- Version:
- 1, 0
| Nested Class Summary | |
(package private) class |
JSPloader.ClassInfo
Maintain class object and serial number. |
(package private) class |
JSPloader.ProtectionDomainInfo
Maintain Protection Domains and CRL scheduled next update. |
(package private) class |
JSPloader.ResourceEntry
ressources value - maintains a buffer containing the resource and a lastModified time. |
| Nested classes inherited from class java.lang.ClassLoader |
|
| Field Summary | |
(package private) static java.lang.Class |
ac
|
private static sun.security.provider.PolicyFile |
allPermissionPolicy
application server policy |
private java.net.URL |
baseURL
base URL for policy checking |
private static java.security.cert.Certificate[] |
certificate0
null certificate list (unsigned archive) |
(package private) java.util.HashMap |
classes
Loaded classes HashMap. |
private java.lang.Object |
crlChecker
CRLchecker instance |
private java.lang.reflect.Method |
crlCheckMethod
CRLchecker check method |
private static sun.security.provider.PolicyFile |
defaultPolicy
policy set by default |
(package private) JSPhandler |
handler
back pointer on JSPhandler |
private static boolean |
isSSLset
if true has tried to install jsse |
(package private) java.lang.String |
jarName
jar name |
(package private) java.lang.String |
jarURL
jar remote location (URL) |
private long |
lastModified
cache file timestamp - used for caching |
private java.lang.Class |
pageBoxClass
PageBoxAPI class - used at loadClass |
(package private) java.lang.ClassLoader |
parent
parent class loader |
private sun.security.provider.PolicyFile |
policy
policy used by loaded classes |
private java.lang.String |
policyFile
policy file used by loaded classes |
private java.security.ProtectionDomain |
protectionDomain0
ProtectionDomain for classes without certificate |
private java.util.HashMap |
protectionDomains
map of protection domains |
(package private) java.util.HashMap |
resources
Loaded resources HashMap. |
(package private) static java.lang.Class |
RPAclass
|
(package private) java.lang.reflect.Constructor |
RPAconstr
|
private int |
size
classes size |
private static java.lang.String |
SSL_SERVICE
JES2 jsse service. |
private static org.osgi.framework.ServiceReference |
sslSR
SSL service reference. |
private static java.lang.String |
webInfClasses
part to remove in case of war classes |
| Fields inherited from class java.lang.ClassLoader |
|
| Constructor Summary | |
JSPloader(JSPhandler jh,
java.lang.String jarName,
java.lang.String jarURL)
Constructor. |
|
| Method Summary | |
private boolean |
copyClassesURL()
Copy classes from remote location (URL). |
protected void |
finalize()
to avoid loitering |
long |
getLastModified(java.lang.String name)
Returns resource timestamp |
java.io.InputStream |
getResourceAsStream(java.lang.String name)
Externally called method (from Beans.Instantiate or to access resources). |
private java.io.InputStream |
getResourceForward(java.lang.String name)
method called by getResourceAsStream. |
(package private) int |
getSize()
Returns classes size. |
java.lang.Class |
loadClass(java.lang.String name,
boolean resolve)
Externally called method (from ClassEntry and JVM). |
private boolean |
loadClassDataFS()
Loads class from local cache (File System). |
private boolean |
loadClassDataURL()
Loads class from remote location (URL). |
private java.lang.Class |
loadForward(java.lang.String name)
Forward load requests. |
private java.lang.String |
loadPolicy()
Copy policy file from remote location (URL). |
(package private) JSPloader.ResourceEntry |
newResourceEntry()
Helper method. |
private boolean |
parseStream(java.util.jar.JarInputStream jis,
boolean toSave,
boolean isWar)
Parses the jar stream. |
private static void |
setSSL(JSPhandler handler)
Installs jsse. |
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
handler
JSPhandler handler
- back pointer on JSPhandler
jarURL
java.lang.String jarURL
- jar remote location (URL)
jarName
java.lang.String jarName
- jar name
classes
java.util.HashMap classes
- Loaded classes HashMap.
key: full class name
value: ClassInfo
- See Also:
- JSPloader.ClassInfo
size
private int size
- classes size
resources
java.util.HashMap resources
- Loaded resources HashMap.
key: remote location
value: byte[]
- See Also:
- JSPloader.ResourceEntry
parent
java.lang.ClassLoader parent
- parent class loader
baseURL
private java.net.URL baseURL
- base URL for policy checking
defaultPolicy
private static sun.security.provider.PolicyFile defaultPolicy
- policy set by default
allPermissionPolicy
private static sun.security.provider.PolicyFile allPermissionPolicy
- application server policy
policy
private sun.security.provider.PolicyFile policy
- policy used by loaded classes
policyFile
private java.lang.String policyFile
- policy file used by loaded classes
webInfClasses
private static final java.lang.String webInfClasses
- part to remove in case of war classes
- See Also:
- Constant Field Values
certificate0
private static final java.security.cert.Certificate[] certificate0
- null certificate list (unsigned archive)
protectionDomain0
private java.security.ProtectionDomain protectionDomain0
- ProtectionDomain for classes without certificate
protectionDomains
private java.util.HashMap protectionDomains
- map of protection domains
lastModified
private long lastModified
- cache file timestamp - used for caching
crlChecker
private java.lang.Object crlChecker
- CRLchecker instance
crlCheckMethod
private java.lang.reflect.Method crlCheckMethod
- CRLchecker check method
isSSLset
private static boolean isSSLset
- if true has tried to install jsse
pageBoxClass
private java.lang.Class pageBoxClass
- PageBoxAPI class - used at loadClass
SSL_SERVICE
private static final java.lang.String SSL_SERVICE
- JES2 jsse service.
- See Also:
- Constant Field Values
sslSR
private static org.osgi.framework.ServiceReference sslSR
- SSL service reference.
RPAconstr
java.lang.reflect.Constructor RPAconstr
RPAclass
static java.lang.Class RPAclass
ac
static java.lang.Class ac
| Constructor Detail |
JSPloader
public JSPloader(JSPhandler jh, java.lang.String jarName, java.lang.String jarURL) throws JSPloaderException
- Constructor. Initialize variables. Can load classes without resolving them.
- If no sandbox:
- Tries loading classes from cache (loadClassDataFS).
- Tries loading classes from remote location (loadClassDataURL).
- If sandbox:
- Defines all permission and default policies.
- Loads archive policy and update keystore if needed.
- Instantiates CRLchecker.
- Tries loading classes from cache (loadClassDataFS).
- Tries copying archive from remote location and load classes.
| Method Detail |
setSSL
private static final void setSSL(JSPhandler handler)
- Installs jsse.
getSize
final int getSize()
- Returns classes size.
getLastModified
public final long getLastModified(java.lang.String name)
- Returns resource timestamp
parseStream
private final boolean parseStream(java.util.jar.JarInputStream jis, boolean toSave, boolean isWar)
- Parses the jar stream.
- Creates local cache if toSave.
- Scans jis. For each entry, write on local cache if toSave, define the class and save it in classes HashMap.
loadClassDataFS
private final boolean loadClassDataFS()
- Loads class from local cache (File System).
copyClassesURL
private final boolean copyClassesURL()
- Copy classes from remote location (URL).
loadPolicy
private final java.lang.String loadPolicy()
- Copy policy file from remote location (URL).
loadClassDataURL
private final boolean loadClassDataURL()
- Loads class from remote location (URL).
loadForward
private final java.lang.Class loadForward(java.lang.String name) throws java.lang.ClassNotFoundException
- Forward load requests. To:
- Bootstrap and system class loaders (findSystemClass).
- JSPservlet class loader.
- Parent class loader.
loadClass
public java.lang.Class loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
- Externally called method (from ClassEntry and JVM).
- Calls loadForward for special suffixes.
- Find the requested class in classes cache.
- If not found, calls loadForward.
getResourceForward
private final java.io.InputStream getResourceForward(java.lang.String name)
- method called by getResourceAsStream.
newResourceEntry
final JSPloader.ResourceEntry newResourceEntry()
- Helper method.
ResourceEntry is not in the scope of ResourcePrivilegeAction that needs
to create it.
getResourceAsStream
public java.io.InputStream getResourceAsStream(java.lang.String name)
- Externally called method (from Beans.Instantiate or to access resources).
This method shouldn't be synchronized as URL handling requires time.
finalize
protected void finalize()
- to avoid loitering
|
|||||||||
| Home >> All >> [ JSPservletPkg overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC