org.apache.sling.api.servlets
Interface ServletResolver


public interface ServletResolver

The ServletResolver defines the API for a service capable of resolving javax.servlet.Servlet instances to handle the processing of a request or resource.

Applications of the Sling Framework generally do not need the servlet resolver as resolution of the servlets to process requests and sub-requests through a RequestDispatcher is handled by the Sling Framework.


Method Summary
 javax.servlet.Servlet resolveServlet(ResourceResolver resolver, String scriptName)
          Resolves a javax.servlet.Servlet whose service method may be used to handle a request.
 javax.servlet.Servlet resolveServlet(Resource resource, String scriptName)
          Resolves a javax.servlet.Servlet whose service method may be used to handle a request.
 javax.servlet.Servlet resolveServlet(SlingHttpServletRequest request)
          Resolves a javax.servlet.Servlet whose service method may be used to handle the given request.
 

Method Detail

resolveServlet

javax.servlet.Servlet resolveServlet(SlingHttpServletRequest request)
Resolves a javax.servlet.Servlet whose service method may be used to handle the given request.

The returned servlet must be assumed to be initialized and ready to run. That is, the init nor the destroy methods must NOT be called on the returned servlet.

This method must not return a Servlet instance implementing the OptingServlet interface and returning false when the OptingServlet.accepts(SlingHttpServletRequest) method is called.

Parameters:
request - The SlingHttpServletRequest object used to drive selection of the servlet.
Returns:
The servlet whose service method may be called to handle the request.
Throws:
SlingException - Is thrown if an error occurrs while trying to find an appropriate servlet to handle the request or if no servlet could be resolved to handle the request.

resolveServlet

javax.servlet.Servlet resolveServlet(Resource resource,
                                     String scriptName)
Resolves a javax.servlet.Servlet whose service method may be used to handle a request.

The returned servlet must be assumed to be initialized and ready to run. That is, the init nor the destroy methods must NOT be called on the returned servlet.

This method skips all OptingServlets as there is no request object available. Basically this method searches a script with the scriptName for the resource type defined by the resource

Parameters:
resource - The Resource object used to drive selection of the servlet.
scriptName - The name of the script - the script might have an extension. In this case only a script with the matching extension is used.
Returns:
The servlet whose service method may be called to handle the request.
Throws:
SlingException - Is thrown if an error occurrs while trying to find an appropriate servlet to handle the request or if no servlet could be resolved to handle the request.
Since:
2.1

resolveServlet

javax.servlet.Servlet resolveServlet(ResourceResolver resolver,
                                     String scriptName)
Resolves a javax.servlet.Servlet whose service method may be used to handle a request.

The returned servlet must be assumed to be initialized and ready to run. That is, the init nor the destroy methods must NOT be called on the returned servlet.

This method skips all OptingServlets as there is no request object available. Basically this method searches a script with the scriptName

Parameters:
resolver - The ResourceResolver object used to drive selection of the servlet.
scriptName - The name of the script - the script might have an extension. In this case only a script with the matching extension is used.
Returns:
The servlet whose service method may be called to handle the request.
Throws:
SlingException - Is thrown if an error occurrs while trying to find an appropriate servlet to handle the request or if no servlet could be resolved to handle the request.
Since:
2.1


Copyright © 2007-2011 The Apache Software Foundation. All Rights Reserved.