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

Field Summary
 
Fields inherited from class org.mortbay.jetty.servlet.Holder
_class, _className, _displayName, _extInstance, _initParams, _name, _servletHandler
 
Constructor Summary
ServletHolder()
          Constructor .
ServletHolder(Class servlet)
          Constructor for existing servlet.
ServletHolder(Servlet servlet)
          Constructor for existing servlet.
 
Method Summary
 void checkServletType()
          Check to ensure class of servlet is acceptable.
 int compareTo(Object o)
          Comparitor by init order.
 void destroyInstance(Object o)
           
 void doStart()
           
 void doStop()
           
 boolean equals(Object o)
           
 String getForcedPath()
           
 int getInitOrder()
           
 Map getRoleMap()
           
 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()
           
 boolean isAvailable()
           
 void setForcedPath(String forcedPath)
           
 void setInitOrder(int order)
          Set the initialize order.
 void setRunAs(String role)
           
 void setServlet(Servlet servlet)
           
 void setUserRoleLink(String name, String link)
          Link a user role.
 
Methods inherited from class org.mortbay.jetty.servlet.Holder
getClassName, getDisplayName, getHeldClass, getInitParameter, getInitParameterNames, getInitParameters, getName, getServletHandler, newInstance, setClassName, setDisplayName, setHeldClass, setInitParameter, setInitParameters, setName, setServletHandler, toString
 
Methods inherited from class org.mortbay.component.AbstractLifeCycle
isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, start, stop
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ServletHolder

public ServletHolder()
Constructor .


ServletHolder

public ServletHolder(Servlet servlet)
Constructor for existing servlet.


ServletHolder

public ServletHolder(Class servlet)
Constructor for existing servlet.

Method Detail

setServlet

public void setServlet(Servlet servlet)

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.

getRoleMap

public Map getRoleMap()

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

destroyInstance

public void destroyInstance(Object o)
                     throws Exception
Overrides:
destroyInstance in class Holder
Throws:
Exception

getServlet

public Servlet getServlet()
                   throws ServletException
Get the servlet.

Returns:
The servlet
Throws:
ServletException

checkServletType

public void checkServletType()
                      throws UnavailableException
Check to ensure class of servlet is acceptable.

Throws:
UnavailableException

isAvailable

public boolean isAvailable()
Returns:
true if the holder is started and is not unavailable

handle

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

Throws:
ServletException
UnavailableException
IOException