org.mortbay.jetty.servlet
Class ServletHolder

java.lang.Object
  extended by org.mortbay.component.AbstractLifeCycle
      extended by org.mortbay.jetty.servlet.Holder
          extended by org.mortbay.jetty.servlet.ServletHolder
All Implemented Interfaces:
Serializable, Comparable, LifeCycle

public class ServletHolder
extends Holder
implements Comparable

Servlet Instance and Context Holder. Holds the name, params and some state of a javax.servlet.Servlet instance. It implements the ServletConfig interface. This class will organise the loading of the servlet when needed or requested.

Author:
Greg Wilkins
See Also:
Serialized Form

Nested Class Summary
(package private)  class ServletHolder.Config
           
 
Field Summary
private  ServletHolder.Config _config
           
private  String _forcedPath
           
private  boolean _initOnStartup
           
private  int _initOrder
           
private  Map _roleMap
           
private  String _runAs
           
private  Servlet _servlet
           
private  Stack _servlets
           
private  long _unavailable
           
private  UnavailableException _unavailableEx
           
 
Fields inherited from class org.mortbay.jetty.servlet.Holder
_class, _className, _displayName, _initParams, _name, _servletHandler
 
Constructor Summary
ServletHolder()
          Constructor for Serialization.
 
Method Summary
 int compareTo(Object o)
          Comparitor by init order.
 void doStart()
           
 void doStop()
           
 boolean equals(Object o)
           
 String getForcedPath()
           
 int getInitOrder()
           
 String getRunAs()
           
 Servlet getServlet()
          Get the servlet.
 String getUserRoleLink(String name)
          get a user role link.
 void handle(ServletRequest request, ServletResponse response)
          Service a request with this servlet.
 int hashCode()
           
private  void initServlet(Servlet servlet, ServletConfig config)
           
private  Servlet makeUnavailable(UnavailableException e)
           
 void setForcedPath(String forcedPath)
           
 void setInitOrder(int order)
          Set the initialize order.
 void setRunAs(String role)
           
 void setUserRoleLink(String name, String link)
          Link a user role.
 
Methods inherited from class org.mortbay.jetty.servlet.Holder
getClassName, getDisplayName, getInitParameter, getInitParameterNames, getInitParameters, getName, getServletHandler, newInstance, setClassName, setDisplayName, setInitParameter, setInitParameters, setName, setServletHandler, toString
 
Methods inherited from class org.mortbay.component.AbstractLifeCycle
isFailed, isRunning, isStarted, isStarting, isStopping, start, stop
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

_initOrder

private int _initOrder

_initOnStartup

private boolean _initOnStartup

_roleMap

private Map _roleMap

_forcedPath

private String _forcedPath

_runAs

private String _runAs

_servlets

private transient Stack _servlets

_servlet

private transient Servlet _servlet

_config

private transient ServletHolder.Config _config

_unavailable

private transient long _unavailable

_unavailableEx

private transient UnavailableException _unavailableEx
Constructor Detail

ServletHolder

public ServletHolder()
Constructor for Serialization.

Method Detail

getInitOrder

public int getInitOrder()

setInitOrder

public void setInitOrder(int order)
Set the initialize order. Holders with order<0, are initialized on use. Those with order>=0 are initialized in increasing order when the handler is started.


compareTo

public int compareTo(Object o)
Comparitor by init order.

Specified by:
compareTo in interface Comparable

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

setUserRoleLink

public void setUserRoleLink(String name,
                            String link)
Link a user role. Translate the role name used by a servlet, to the link name used by the container.

Parameters:
name - The role name as used by the servlet
link - The role name as used by the container.

getUserRoleLink

public String getUserRoleLink(String name)
get a user role link.

Parameters:
name - The name of the role
Returns:
The name as translated by the link. If no link exists, the name is returned.

setRunAs

public void setRunAs(String role)
Parameters:
role - Role name that is added to UserPrincipal when this servlet is called.

getRunAs

public String getRunAs()

getForcedPath

public String getForcedPath()
Returns:
Returns the forcedPath.

setForcedPath

public void setForcedPath(String forcedPath)
Parameters:
forcedPath - The forcedPath to set.

doStart

public void doStart()
             throws Exception
Overrides:
doStart in class Holder
Throws:
Exception

doStop

public void doStop()
Overrides:
doStop in class Holder

getServlet

public Servlet getServlet()
                   throws ServletException
Get the servlet.

Returns:
The servlet
Throws:
ServletException

makeUnavailable

private Servlet makeUnavailable(UnavailableException e)
                         throws UnavailableException
Throws:
UnavailableException

initServlet

private void initServlet(Servlet servlet,
                         ServletConfig config)
                  throws ServletException
Throws:
ServletException

handle

public void handle(ServletRequest request,
                   ServletResponse response)
            throws ServletException,
                   UnavailableException,
                   IOException
Service a request with this servlet.

Throws:
ServletException
UnavailableException
IOException