    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class w3c.jigsaw.servlet.ServletWrapper

    java.lang.Object
       |
       +----w3c.tools.store.AttributeHolder
               |
               +----w3c.tools.store.Resource
                       |
                       +----w3c.jigsaw.resources.HTTPResource
                               |
                               +----w3c.jigsaw.resources.FilteredResource
                                       |
                                       +----w3c.jigsaw.servlet.ServletWrapper

public class ServletWrapper
extends FilteredResource
implements ServletConfig

##

ATTR_PARAMETERS
  Attribute index - The init parameters for that servlet.
ATTR_SERVLET_CLASS
  Attributes index - The servlet class name.
ATTR_SERVLET_CONTEXT
  Attribute index - Our parent-inherited servlet context.
inited
  Is out servler initialized ?
servlet
  The servlet wrapped within that Jigsaw resource.
STATE_EXTRA_PATH

##

ServletWrapper()

##

destroyServlet()
  Destroy the servlet we are wrapping.
getInitParameter(String)
  Servlet stub implementation - Get an init parameter value.
getInitParameterNames()
  Servlet stub implementation - Get all init parameters.
getServlet()
  Get the servlet we are wrapping.
getServletClass()
  Get the class name of the wrapped servlet.
getServletContext()
  Servlet stub implementation - Get that servlet context.
getServletDirectory()
  The Path where we can find the servlet class file.
getServletParameters()
  Get the init parameters for our wrapped servlet.
initialize(Object[])
  Initialize this servlet wrapper resource.
launchServlet()
  Launch the servlet we are wrapping.
launchServlet(Class)
  Initialize our servlet from the given (loaded) class.
lookup(LookupState, LookupResult)
  Jigsaw's lookup on servlets.
notifyUnload()
  This resource is being unloaded.
perform(Request)
  Dispatch the give request to our servlet.
setValue(int, Object)
  Catch assignements to the servlet class name attribute.

##

STATE_EXTRA_PATH

     public static final String STATE_EXTRA_PATH

ATTR_SERVLET_CLASS

     protected static int ATTR_SERVLET_CLASS

  Attributes index - The servlet class name.

ATTR_PARAMETERS

     protected static int ATTR_PARAMETERS

  Attribute index - The init parameters for that servlet.

ATTR_SERVLET_CONTEXT

     protected static int ATTR_SERVLET_CONTEXT

  Attribute index - Our parent-inherited servlet context.

servlet

     protected Servlet servlet

  The servlet wrapped within that Jigsaw resource.

inited

     protected boolean inited

  Is out servler initialized ?

##

ServletWrapper

     public ServletWrapper()

##

getServletDirectory

     public File getServletDirectory()

  The Path where we can find the servlet class file.

getInitParameter

     public synchronized String getInitParameter(String string)

  Servlet stub implementation - Get an init parameter value.

getInitParameterNames

     public synchronized Enumeration getInitParameterNames()

  Servlet stub implementation - Get all init parameters.

getServletContext

     public ServletContext getServletContext()

  Servlet stub implementation - Get that servlet context.

getServletClass

     public String getServletClass()

  Get the class name of the wrapped servlet.

  Returns:
    The class name for the servlet if attribute is defined. Otherwise the class name is deduced from the resource identifier.

getServletParameters

     public ArrayDictionary getServletParameters()

  Get the init parameters for our wrapped servlet.

  Returns:
    An ArrayDictionary instance if the attribute is defined, false otherwise.

setValue

     public void setValue(int idx,
                          Object value)

  Catch assignements to the servlet class name attribute.

  When a change to that attribute is detected, the servlet is automatically reinitialized.

  Overrides:
    setValue in class HTTPResource

destroyServlet

     protected synchronized void destroyServlet()

  Destroy the servlet we are wrapping.

getServlet

     public Servlet getServlet()

  Get the servlet we are wrapping.

  Returns:
    A servlet instance, if the servlet is alredy running, null otherwise.

launchServlet

     protected boolean launchServlet(Class cls)

  Initialize our servlet from the given (loaded) class.

  Parameters:
    cls - The servlet loaded main class.
  Returns:
    A boolean, true if servlet was successfully initialised, false otherwise.

launchServlet

     protected boolean launchServlet()

  Launch the servlet we are wrapping.

  This method either succeed, or the wrapper resource itself will fail to initialize, acting as transparently as possible (in some sense).

  Returns:
    A boolean, true if servlet launched.

perform

     public Reply perform(Request request) throws HTTPException

  Dispatch the give request to our servlet.

  If the servlet cannot be inititalized, we just throw an error message otherwise, we just delegate that request processing to the underlying servlet instance.

  Parameters:
    request - The request to be processed.
  Throws: HTTPException
    If the wrapped servlet is not initialized.
  Overrides:
    perform in class HTTPResource

lookup

     public boolean lookup(LookupState ls,
                           LookupResult lr) throws HTTPException

  Jigsaw's lookup on servlets. Once here, we have reached a leaf servlet (or at least the remaining lookup is to be done at the servlet itself). We keep track of the path info and mark that servlet as the target of request.

  Parameters:
    ls - The lookup state.
    lr - The lookup result.
  Throws: HTTPException
    If some error occurs.
  Overrides:
    lookup in class FilteredResource

notifyUnload

     public void notifyUnload()

  This resource is being unloaded.

  Overrides:
    notifyUnload in class Resource

initialize

     public void initialize(Object values[])

  Initialize this servlet wrapper resource. After the wrapper itself is inited, it performs the servlet initialzation.

  Parameters:
    values - The default attribute values.
  Overrides:
    initialize in class FilteredResource

    All Packages  Class Hierarchy  This Package  Previous  Next  Index