Package org.apache.sling.api.servlets

# Class SlingAllMethodsServlet

java.lang.Object
javax.servlet.GenericServlet
org.apache.sling.api.servlets.SlingSafeMethodsServlet
org.apache.sling.api.servlets.SlingAllMethodsServlet

All Implemented Interfaces:
  `Serializable`, `javax.servlet.Servlet`, `javax.servlet.ServletConfig`

@Deprecated public class SlingAllMethodsServlet extends SlingSafeMethodsServlet
Deprecated.
Use `SlingJakartaAllMethodsServlet` instead
Helper base class for data modifying Servlets used in Sling. This class extends the `SlingSafeMethodsServlet` by support for the POST, PUT and DELETE methods.

Implementors note: The methods in this class are all declared to throw the exceptions according to the intentions of the Servlet API rather than throwing their Sling RuntimeException counter parts. This is done to easy the integration with traditional servlets.

See Also:
  - `for more information on supporting more HTTP methods`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`SlingAllMethodsServlet()`
Deprecated.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`doDelete(@NotNull SlingHttpServletRequest request, @NotNull SlingHttpServletResponse response)`
Deprecated.
Called by the `mayService(SlingHttpServletRequest, SlingHttpServletResponse)` method to handle an HTTP DELETE request.
`protected void`
`doPost(@NotNull SlingHttpServletRequest request, @NotNull SlingHttpServletResponse response)`
Deprecated.
Called by the `mayService(SlingHttpServletRequest, SlingHttpServletResponse)` method to handle an HTTP POST request.
`protected void`
`doPut(@NotNull SlingHttpServletRequest request, @NotNull SlingHttpServletResponse response)`
Deprecated.
Called by the `mayService(SlingHttpServletRequest, SlingHttpServletResponse)` method to handle an HTTP PUT request.
`protected @NotNull StringBuffer`
`getAllowedRequestMethods(@NotNull Map<String,Method> declaredMethods)`
Deprecated.
Helper method called by `SlingSafeMethodsServlet.doOptions(SlingHttpServletRequest, SlingHttpServletResponse)` to calculate the value of the Allow header sent as the response to the HTTP OPTIONS request.
`protected boolean`
`isMethodValid(Method method, String className)`
Deprecated.
Returns `true` if `method` is not `null` and the method is not defined in the class named by `className`.
`protected boolean`
`mayService(@NotNull SlingHttpServletRequest request, @NotNull SlingHttpServletResponse response)`
Deprecated.
Tries to handle the request by calling a Java method implemented for the respective HTTP request method.

### Methods inherited from class org.apache.sling.api.servlets.SlingSafeMethodsServlet

`doGeneric, doGet, doHead, doOptions, doTrace, getServletInfo, handleMethodNotImplemented, service, service`

### Methods inherited from class javax.servlet.GenericServlet

`destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletName, init, init, log, log`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### SlingAllMethodsServlet

public SlingAllMethodsServlet()
Deprecated.

## Method Details

### doPost

protected void doPost(@NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull SlingHttpServletResponse response) throws javax.servlet.ServletException, IOException
Deprecated.
Called by the `mayService(SlingHttpServletRequest, SlingHttpServletResponse)` method to handle an HTTP POST request.

This default implementation reports back to the client that the method is not supported.

Implementations of this class should overwrite this method with their implementation for the HTTP POST method support.

Parameters:
  `request` - The HTTP request
  `response` - The HTTP response
Throws:
  `javax.servlet.ServletException` - Not thrown by this implementation.
  `IOException` - If the error status cannot be reported back to the client.

### doPut

protected void doPut(@NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull SlingHttpServletResponse response) throws javax.servlet.ServletException, IOException
Deprecated.
Called by the `mayService(SlingHttpServletRequest, SlingHttpServletResponse)` method to handle an HTTP PUT request.

This default implementation reports back to the client that the method is not supported.

Implementations of this class should overwrite this method with their implementation for the HTTP PUT method support.

Parameters:
  `request` - The HTTP request
  `response` - The HTTP response
Throws:
  `javax.servlet.ServletException` - Not thrown by this implementation.
  `IOException` - If the error status cannot be reported back to the client.

### doDelete

protected void doDelete(@NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull SlingHttpServletResponse response) throws javax.servlet.ServletException, IOException
Deprecated.
Called by the `mayService(SlingHttpServletRequest, SlingHttpServletResponse)` method to handle an HTTP DELETE request.

This default implementation reports back to the client that the method is not supported.

Implementations of this class should overwrite this method with their implementation for the HTTP DELETE method support.

Parameters:
  `request` - The HTTP request
  `response` - The HTTP response
Throws:
  `javax.servlet.ServletException` - Not thrown by this implementation.
  `IOException` - If the error status cannot be reported back to the client.

### mayService

protected boolean mayService(@NotNull @NotNull SlingHttpServletRequest request, @NotNull @NotNull SlingHttpServletResponse response) throws javax.servlet.ServletException, IOException
Deprecated.
Tries to handle the request by calling a Java method implemented for the respective HTTP request method.

This implementation first calls the base class implementation and only if the base class cannot dispatch will try to dispatch the supported methods POST, PUT and DELETE and returns `true` if any of these methods is requested. Otherwise `false` is just returned.

Overrides:
  `mayService` in class `SlingSafeMethodsServlet`
Parameters:
  `request` - The HTTP request
  `response` - The HTTP response
Returns:
  `true` if the requested method (`request.getMethod()`) is known. Otherwise `false` is returned.
Throws:
  `javax.servlet.ServletException` - Forwarded from any of the dispatched methods
  `IOException` - Forwarded from any of the dispatched methods

### getAllowedRequestMethods

@NotNull protected @NotNull StringBuffer getAllowedRequestMethods(@NotNull @NotNull Map<String,Method> declaredMethods)
Deprecated.
Helper method called by `SlingSafeMethodsServlet.doOptions(SlingHttpServletRequest, SlingHttpServletResponse)` to calculate the value of the Allow header sent as the response to the HTTP OPTIONS request.

This implementation overwrites the base class implementation adding support for the POST, PUT and DELETE methods in addition to the methods returned by the base class implementation.

Overrides:
  `getAllowedRequestMethods` in class `SlingSafeMethodsServlet`
Parameters:
  `declaredMethods` - The public and protected methods declared in the extension of this class.
Returns:
  A `StringBuffer` containing the list of HTTP methods supported.

### isMethodValid

protected boolean isMethodValid(Method method, String className)
Deprecated.
Returns `true` if `method` is not `null` and the method is not defined in the class named by `className`.

This method may be used to make sure a method is actually overwritten and not just the default implementation.

Parameters:
  `method` - The Method to check
  `className` - The name of class assumed to contained the initial declaration of the method.
Returns:
  `true` if `method` is not `null` and the methods declaring class is not the given class.