org.w3c.jigsaw.servlet
Class JigsawServletContext

java.lang.Object
  extended by org.w3c.tools.resources.event.StructureChangedAdapter
      extended by org.w3c.jigsaw.servlet.JigsawServletContext
All Implemented Interfaces:
java.util.EventListener, javax.servlet.ServletContext, StructureChangedListener, PropertyMonitoring

public class JigsawServletContext
extends StructureChangedAdapter
implements javax.servlet.ServletContext, PropertyMonitoring


Field Summary
protected static java.lang.String deflogfile
           
protected static java.lang.String logdir
           
static java.lang.String TEMPDIR_P
           
 
Constructor Summary
protected JigsawServletContext(ResourceReference ref, ObservableProperties props)
          Create a new ServletContext.
 
Method Summary
protected  AutoReloadServletLoader createNewLocalServletLoader(boolean keepold)
           
 java.lang.Object getAttribute(java.lang.String name)
          ServletContext implementation - Get an attribute value.
 java.util.Enumeration getAttributeNames()
           
 javax.servlet.ServletContext getContext(java.lang.String uripath)
           
protected static java.lang.String getFilePath(DirectoryResource dir)
           
 java.lang.String getInitParameter(java.lang.String name)
          Returns a String containing the value of the named context-wide initialization parameter, or null if the parameter does not exist.
 java.util.Enumeration getInitParameterNames()
          Returns the names of the context's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the context has no initialization parameters.
protected static ResourceReference getLocalRoot(ResourceReference rr_root, ResourceReference ref)
           
protected  AutoReloadServletLoader getLocalServletLoader()
          Get or create a suitable LocalServletLoader instance to load that servlet.
 int getMajorVersion()
           
 java.lang.String getMimeType(java.lang.String filename)
          ServletContext implementation - Get the MIME type for given file.
 int getMinorVersion()
           
 javax.servlet.RequestDispatcher getNamedDispatcher(java.lang.String name)
          Returns a RequestDispatcher object that acts as a wrapper for the named servlet.
 java.lang.String getRealPath(java.lang.String path)
          ServletContext implementation - Translate a piece of path.
protected static java.lang.String getRealPath(java.lang.String path, ResourceReference rr_root, ResourceReference rr)
          ServletContext implementation - Translate a piece of path.
 javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String urlpath)
          Returns a RequestDispatcher object for the specified URL path if the context knows of an active source (such as a servlet, JSP page, CGI script, etc) of content for the particular path.
 java.net.URL getResource(java.lang.String path)
           
 java.io.InputStream getResourceAsStream(java.lang.String path)
           
 java.util.Set getResourcePaths(java.lang.String path)
          from Servlet 2.3, very file-oriented FIXME always returning null as of now
 ServerInterface getServer()
           
 java.lang.String getServerInfo()
          ServletContext implementation - Get server informations.
 javax.servlet.Servlet getServlet(java.lang.String name)
          Deprecated. since jsdk2.1
 java.lang.String getServletContextName()
          from Servlet 2.3, very file-oriented should return a web-app container name FIXME always returning null as of now
 java.io.File getServletDirectory()
           
protected  int getServletInstanceMax()
           
 java.io.File getServletLogFile()
           
 java.util.Enumeration getServletNames()
          Deprecated. since jsdk2.1
 java.util.Enumeration getServlets()
          Deprecated. since jsdk2.1
protected  long getServletTimeout()
           
protected static java.lang.String guessContentTypeFromName(java.lang.String fname)
          A useful utility routine that tries to guess the content-type of an object based upon its extension.
 void log(java.lang.Exception ex, java.lang.String msg)
          Deprecated. since jsdk2.1
 void log(java.lang.String msg)
          ServletContext implementation - Log a message.
 void log(java.lang.String message, java.lang.Throwable throwable)
           
 boolean propertyChanged(java.lang.String name)
          The callback method, invoked when any property change occurs.
 void removeAttribute(java.lang.String name)
           
 void resourceUnloaded(StructureChangedEvent evt)
          A resource is about to be unloaded This handles the RESOURCE_UNLOADED kind of events.
 void setAttribute(java.lang.String name, java.lang.Object object)
           
 
Methods inherited from class org.w3c.tools.resources.event.StructureChangedAdapter
resourceCreated, resourceModified, resourceRemoved
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

TEMPDIR_P

public static final java.lang.String TEMPDIR_P
See Also:
Constant Field Values

logdir

protected static java.lang.String logdir

deflogfile

protected static java.lang.String deflogfile
Constructor Detail

JigsawServletContext

protected JigsawServletContext(ResourceReference ref,
                               ObservableProperties props)
Create a new ServletContext.

Parameters:
ref - a ResourceReference pointing on a ServletDirectoryFrame.
Method Detail

propertyChanged

public boolean propertyChanged(java.lang.String name)
Description copied from interface: PropertyMonitoring
The callback method, invoked when any property change occurs.

Specified by:
propertyChanged in interface PropertyMonitoring
Parameters:
name - The name of the property that changed.
Returns:
A boolean, if true, accept the new property value, otherwise, reject it and reset the property to its old value.

resourceUnloaded

public void resourceUnloaded(StructureChangedEvent evt)
Description copied from class: StructureChangedAdapter
A resource is about to be unloaded This handles the RESOURCE_UNLOADED kind of events.

Specified by:
resourceUnloaded in interface StructureChangedListener
Overrides:
resourceUnloaded in class StructureChangedAdapter
Parameters:
evt - The event describing the change.

getServletTimeout

protected long getServletTimeout()

getServletInstanceMax

protected int getServletInstanceMax()

guessContentTypeFromName

protected static java.lang.String guessContentTypeFromName(java.lang.String fname)
A useful utility routine that tries to guess the content-type of an object based upon its extension.


getMimeType

public java.lang.String getMimeType(java.lang.String filename)
ServletContext implementation - Get the MIME type for given file.

Specified by:
getMimeType in interface javax.servlet.ServletContext

getServer

public ServerInterface getServer()

getServletLogFile

public java.io.File getServletLogFile()

getServlet

public javax.servlet.Servlet getServlet(java.lang.String name)
Deprecated. since jsdk2.1

ServletContext implementation - Lookup a given servlet.

Specified by:
getServlet in interface javax.servlet.ServletContext

getServlets

public java.util.Enumeration getServlets()
Deprecated. since jsdk2.1

ServletContext implementation - Enumerate all servlets within context.

Specified by:
getServlets in interface javax.servlet.ServletContext

getServletNames

public java.util.Enumeration getServletNames()
Deprecated. since jsdk2.1

ServletContext implementation - Enumerate all servlets names within context.

Specified by:
getServletNames in interface javax.servlet.ServletContext

log

public void log(java.lang.String msg)
ServletContext implementation - Log a message.

Specified by:
log in interface javax.servlet.ServletContext

log

public void log(java.lang.Exception ex,
                java.lang.String msg)
Deprecated. since jsdk2.1

Specified by:
log in interface javax.servlet.ServletContext

log

public void log(java.lang.String message,
                java.lang.Throwable throwable)
Specified by:
log in interface javax.servlet.ServletContext

getRealPath

protected static java.lang.String getRealPath(java.lang.String path,
                                              ResourceReference rr_root,
                                              ResourceReference rr)
ServletContext implementation - Translate a piece of path.

Parameters:
path - the virtual path to translate
rr_root - the Root ResourceReference
rr - the target ResourceReference
Returns:
the real path

getResourcePaths

public java.util.Set getResourcePaths(java.lang.String path)
from Servlet 2.3, very file-oriented FIXME always returning null as of now


getServletContextName

public java.lang.String getServletContextName()
from Servlet 2.3, very file-oriented should return a web-app container name FIXME always returning null as of now


getRealPath

public java.lang.String getRealPath(java.lang.String path)
ServletContext implementation - Translate a piece of path.

Specified by:
getRealPath in interface javax.servlet.ServletContext
Parameters:
path - the virtual path to translate
Returns:
the real path

getFilePath

protected static java.lang.String getFilePath(DirectoryResource dir)

getLocalRoot

protected static ResourceReference getLocalRoot(ResourceReference rr_root,
                                                ResourceReference ref)

getServerInfo

public java.lang.String getServerInfo()
ServletContext implementation - Get server informations.

Specified by:
getServerInfo in interface javax.servlet.ServletContext

getAttribute

public java.lang.Object getAttribute(java.lang.String name)
ServletContext implementation - Get an attribute value. We map this into the ServletWrapper attributes, without support for name clashes though.

Specified by:
getAttribute in interface javax.servlet.ServletContext
Parameters:
name - The attribute name.

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.Object object)
Specified by:
setAttribute in interface javax.servlet.ServletContext

removeAttribute

public void removeAttribute(java.lang.String name)
Specified by:
removeAttribute in interface javax.servlet.ServletContext

getAttributeNames

public java.util.Enumeration getAttributeNames()
Specified by:
getAttributeNames in interface javax.servlet.ServletContext

getInitParameter

public java.lang.String getInitParameter(java.lang.String name)
Returns a String containing the value of the named context-wide initialization parameter, or null if the parameter does not exist.

This method can make available configuration information useful to an entire "web application". For example, it can provide a webmaster's email address or the name of a system that holds critical data.

Specified by:
getInitParameter in interface javax.servlet.ServletContext
Parameters:
name - a String containing the name of the parameter whose value is requested
Returns:
a String containing at least the servlet container name and version number
See Also:
ServletConfig#getInitParameter

getInitParameterNames

public java.util.Enumeration getInitParameterNames()
Returns the names of the context's initialization parameters as an Enumeration of String objects, or an empty Enumeration if the context has no initialization parameters.

Specified by:
getInitParameterNames in interface javax.servlet.ServletContext
Returns:
an Enumeration of String objects containing the names of the context's initialization parameters
See Also:
ServletConfig#getInitParameter

getLocalServletLoader

protected AutoReloadServletLoader getLocalServletLoader()
Get or create a suitable LocalServletLoader instance to load that servlet.

Returns:
A LocalServletLoader instance.

createNewLocalServletLoader

protected AutoReloadServletLoader createNewLocalServletLoader(boolean keepold)

getServletDirectory

public java.io.File getServletDirectory()

getRequestDispatcher

public javax.servlet.RequestDispatcher getRequestDispatcher(java.lang.String urlpath)
Returns a RequestDispatcher object for the specified URL path if the context knows of an active source (such as a servlet, JSP page, CGI script, etc) of content for the particular path. This format of the URL path must be of the form /dir/dir/file.ext. The servlet engine is responsible for implementing whatever functionality is required to wrap the target source with an implementation of the RequestDispatcher interface.

Specified by:
getRequestDispatcher in interface javax.servlet.ServletContext
Parameters:
urlpath - Path to use to look up the target server resource

getNamedDispatcher

public javax.servlet.RequestDispatcher getNamedDispatcher(java.lang.String name)
Returns a RequestDispatcher object that acts as a wrapper for the named servlet.

Servlets (and JSP pages also) may be given names via server administration or via a web application deployment descriptor. A servlet instance can determine its name using ServletConfig#getServletName.

This method returns null if the ServletContext cannot return a RequestDispatcher for any reason.

Specified by:
getNamedDispatcher in interface javax.servlet.ServletContext
Parameters:
name - a String specifying the name of a servlet to wrap
Returns:
a RequestDispatcher object that acts as a wrapper for the named servlet
See Also:
RequestDispatcher, ServletContext.getContext(java.lang.String), ServletConfig#getServletName

getMajorVersion

public int getMajorVersion()
Specified by:
getMajorVersion in interface javax.servlet.ServletContext

getMinorVersion

public int getMinorVersion()
Specified by:
getMinorVersion in interface javax.servlet.ServletContext

getContext

public javax.servlet.ServletContext getContext(java.lang.String uripath)
Specified by:
getContext in interface javax.servlet.ServletContext

getResource

public java.net.URL getResource(java.lang.String path)
                         throws java.net.MalformedURLException
Specified by:
getResource in interface javax.servlet.ServletContext
Throws:
java.net.MalformedURLException

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String path)
Specified by:
getResourceAsStream in interface javax.servlet.ServletContext