JSPservletPkg
Class JSPhandler.ClassEntry

java.lang.Object
  |
  +--JSPservletPkg.JSPhandler.ClassEntry

class JSPhandler.ClassEntry
extends java.lang.Object

Class invoked by JSPhandler for a given jar name. It caches created target servlets and JSPs and manages a JSPloader.


Inner Class Summary
(package private)  class JSPhandler.ClassEntry.ServletInfo
          Class of servletObjects entries.
(package private)  class JSPhandler.ClassEntry.Stat
          wraps statistic data. uses a Properties to store and persist stats.
 
Field Summary
(package private)  BackCheck backCheck
          Version 1.0.3.
(package private)  JSPhandler handler
          back pointer on JSPhandler
(package private)  java.lang.String jarName
          jar name
(package private)  java.lang.String jarURL
          jar remote location (URL)
(package private)  JSPloader jl
          ClassLoader
(package private)  java.util.HashMap servletObjects
          HashMap key: class name (full path) value: ServletInfo
(package private)  JSPhandler.ClassEntry.Stat stat
          Handle on Stat object.
 
Constructor Summary
(package private) JSPhandler.ClassEntry(JSPhandler jh, java.lang.String jarName, java.lang.String jarURL)
          Version 1.0.4.
 
Method Summary
(package private)  void delete()
          Clears itself and class loaded stuff.
protected  void finalize()
          to avoid loitering
(package private)  JSPservletPkg.Servlet get(java.lang.String classPath)
          Given a target classpath, returns a Servlet object.
(package private)  long getLastModified(java.lang.String name)
          Returns resource timestamp
(package private)  java.io.InputStream getResourceAsStream(java.lang.String classPath)
          Invoked by JSPhandler.
(package private)  java.lang.String getRoutingResource(java.lang.String name)
          Version 1.0.3 Returns comment associated with routing if the resource is a routing one or null.
(package private)  void update(java.lang.String remoteLocation)
          Clears itself and class loaded stuff and recreates class loader.
 
Methods inherited from class java.lang.Object
, clone, equals, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

jl

JSPloader jl
ClassLoader

jarName

java.lang.String jarName
jar name

jarURL

java.lang.String jarURL
jar remote location (URL)

servletObjects

java.util.HashMap servletObjects
HashMap key: class name (full path) value: ServletInfo
See Also:
JSPhandler.ClassEntry.ServletInfo

handler

JSPhandler handler
back pointer on JSPhandler

stat

JSPhandler.ClassEntry.Stat stat
Handle on Stat object.

backCheck

BackCheck backCheck
Version 1.0.3. BackCheck handle. Wraps a Mapper.
Constructor Detail

JSPhandler.ClassEntry

JSPhandler.ClassEntry(JSPhandler jh,
                      java.lang.String jarName,
                      java.lang.String jarURL)
                throws JSPloaderException
Version 1.0.4. Mapper persistent cache support.

Constructor.

Parameters:
jh - invoking JSPhandler.
jarName - application prefix.
jarURL - jar remote location.
Throws:
JSPloaderException - remote URL of jar not defined.
Method Detail

delete

final void delete()
Clears itself and class loaded stuff.

update

final void update(java.lang.String remoteLocation)
           throws JSPloaderException
Clears itself and class loaded stuff and recreates class loader.
  1. Enumerates servletObjects target cache and destroys each target found
  2. Clear references.
  3. Invokes garbage collector.
  4. Creates new JSPloader.
  5. Instanciates a new servletObjects target cache.

Parameters:
remoteLocation - URL where to download the jar.
Throws:
JSPloaderException - remote URL of jar not defined.
See Also:
JSPhandler.ClassEntry.ServletInfo

get

final JSPservletPkg.Servlet get(java.lang.String classPath)
                         throws JSPloaderException,
                                java.lang.ClassNotFoundException
Given a target classpath, returns a Servlet object.
  1. Get the Class corresponding to the target classPath.
  2. Instanciate an object of this class and initialize it.
Parameters:
classPath - full name of the JSP or servlet to load and instantiate.
Returns:
the requested Servlet.
Throws:
JSPloaderException - class loading or instantiation failure.
See Also:
JSPhandler.ClassEntry.ServletInfo

getResourceAsStream

final java.io.InputStream getResourceAsStream(java.lang.String classPath)
Invoked by JSPhandler.
Parameters:
classPath - path to the resource.
Returns:
InputStream on resource.

getLastModified

final long getLastModified(java.lang.String name)
Returns resource timestamp
Parameters:
name - name of the resource.
Returns:
long either
  1. -1: no information (resource managed by container)
  2. 0: unknown timestamp
  3. >1: valid timestamp

getRoutingResource

final java.lang.String getRoutingResource(java.lang.String name)
Version 1.0.3

Returns comment associated with routing if the resource is a routing one or null.

Parameters:
name - name of the resource to stream.

finalize

protected void finalize()
to avoid loitering
Overrides:
finalize in class java.lang.Object