Package org.apache.sling.jcr.webdav.impl.servlets

# Class SlingWebDavServlet

java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.apache.jackrabbit.webdav.server.AbstractWebdavServlet
org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet
org.apache.sling.jcr.webdav.impl.servlets.SlingWebDavServlet

All Implemented Interfaces:
  `Serializable`, `javax.servlet.Servlet`, `javax.servlet.ServletConfig`, `org.apache.jackrabbit.webdav.DavConstants`

public class SlingWebDavServlet extends org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet
The `SlingWebDavServlet` implements the WebDAV protocol as a default servlet for Sling handling all WebDAV methods.

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static @interface`
`SlingWebDavServlet.Config`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_CONTEXT`
`static final boolean`
`DEFAULT_CREATE_ABSOLUTE_URI`
`static final String`
`DEFAULT_REALM`
`static final String`
`TYPE_COLLECTIONS`
`static final String`
`TYPE_COLLECTIONS_DEFAULT`
`static final String`
`TYPE_CONTENT`
`static final String`
`TYPE_CONTENT_DEFAULT`
`static final String`
`TYPE_NONCOLLECTIONS`
`static final String`
`TYPE_NONCOLLECTIONS_DEFAULT`

### Fields inherited from class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet

`CTX_ATTR_RESOURCE_PATH_PREFIX, INIT_PARAM_MIME_INFO, INIT_PARAM_RESOURCE_CONFIG, INIT_PARAM_RESOURCE_PATH_PREFIX`

### Fields inherited from class org.apache.jackrabbit.webdav.server.AbstractWebdavServlet

`DEFAULT_AUTHENTICATE_HEADER, INIT_PARAM_AUTHENTICATE_HEADER, INIT_PARAM_CREATE_ABSOLUTE_URI, INIT_PARAM_CSRF_PROTECTION, INIT_PARAM_MISSING_AUTH_MAPPING`

### Fields inherited from interface org.apache.jackrabbit.webdav.DavConstants

`creationDateFormat, DEPTH_0, DEPTH_1, DEPTH_INFINITY, DEPTH_INFINITY_S, HEADER_AUTHORIZATION, HEADER_CONTENT_LANGUAGE, HEADER_CONTENT_LENGTH, HEADER_CONTENT_TYPE, HEADER_DAV, HEADER_DEPTH, HEADER_DESTINATION, HEADER_ETAG, HEADER_IF, HEADER_LAST_MODIFIED, HEADER_LOCK_TOKEN, HEADER_OVERWRITE, HEADER_TIMEOUT, INFINITE_TIMEOUT, modificationDateFormat, NAMESPACE, OPAQUE_LOCK_TOKEN_PREFIX, PROPERTY_CREATIONDATE, PROPERTY_DISPLAYNAME, PROPERTY_GETCONTENTLANGUAGE, PROPERTY_GETCONTENTLENGTH, PROPERTY_GETCONTENTTYPE, PROPERTY_GETETAG, PROPERTY_GETLASTMODIFIED, PROPERTY_LOCKDISCOVERY, PROPERTY_RESOURCETYPE, PROPERTY_SOURCE, PROPERTY_SUPPORTEDLOCK, PROPFIND_ALL_PROP, PROPFIND_ALL_PROP_INCLUDE, PROPFIND_BY_PROPERTY, PROPFIND_PROPERTY_NAMES, TIMEOUT_INFINITE, UNDEFINED_TIME, UNDEFINED_TIMEOUT, XML_ACTIVELOCK, XML_ALLPROP, XML_COLLECTION, XML_DEPTH, XML_DST, XML_EXCLUSIVE, XML_HREF, XML_INCLUDE, XML_KEEPALIVE, XML_LINK, XML_LOCKENTRY, XML_LOCKINFO, XML_LOCKROOT, XML_LOCKSCOPE, XML_LOCKTOKEN, XML_LOCKTYPE, XML_MULTISTATUS, XML_OMIT, XML_OWNER, XML_PROP, XML_PROPERTYBEHAVIOR, XML_PROPERTYUPDATE, XML_PROPFIND, XML_PROPNAME, XML_PROPSTAT, XML_REMOVE, XML_RESPONSE, XML_RESPONSEDESCRIPTION, XML_SET, XML_SHARED, XML_SOURCE, XML_STATUS, XML_TIMEOUT, XML_WRITE`

## Constructor Summary

Constructors
Constructor
Description
`SlingWebDavServlet()`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`activate(org.osgi.service.component.ComponentContext context, SlingWebDavServlet.Config config)`
`void`
`bindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)`
`void`
`bindDeleteHandler(org.osgi.framework.ServiceReference deleteHandlerReference)`
`void`
`bindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)`
`void`
`bindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)`
`protected void`
`deactivate(org.osgi.service.component.ComponentContext context)`
`org.apache.jackrabbit.webdav.DavLocatorFactory`
`getLocatorFactory()`
`javax.jcr.Repository`
`getRepository()`
`org.apache.jackrabbit.server.SessionProvider`
`getSessionProvider()`
`void`
`init()`
`protected void`
`sendUnauthorized(org.apache.jackrabbit.webdav.WebdavRequest request, org.apache.jackrabbit.webdav.WebdavResponse response, org.apache.jackrabbit.webdav.DavException error)`
Overridden as the base class uses sendError that we don't want (SLING-2443)
`void`
`unbindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)`
`void`
`unbindDeleteHandler(org.osgi.framework.ServiceReference deleteHandlerReference)`
`void`
`unbindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)`
`void`
`unbindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)`

### Methods inherited from class org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet

`getCredentialsProvider, getDavSessionProvider, getLockManager, getPathPrefix, getPathPrefix, getResourceConfig, getResourceFactory, isPreconditionValid, setDavSessionProvider, setLocatorFactory, setLockManager, setResourceConfig, setResourceFactory, setSessionProvider`

### Methods inherited from class org.apache.jackrabbit.webdav.server.AbstractWebdavServlet

`doAcl, doBaselineControl, doBind, doCheckin, doCheckout, doCopy, doDelete, doGet, doHead, doLabel, doLock, doMerge, doMkActivity, doMkCol, doMkWorkspace, doMove, doOptions, doOrderPatch, doPoll, doPost, doPropFind, doPropPatch, doPut, doRebind, doReport, doSearch, doSubscribe, doUnbind, doUncheckout, doUnlock, doUnsubscribe, doUpdate, doVersionControl, execute, getAuthenticateHeaderValue, getInputContext, getOutputContext, isCreateAbsoluteURI, service, validateDestination`

### Methods inherited from class javax.servlet.http.HttpServlet

`doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service`

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

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

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

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

## Field Details

### DEFAULT_CONTEXT

public static final String DEFAULT_CONTEXT

See Also:
  - Constant Field Values

### DEFAULT_CREATE_ABSOLUTE_URI

public static final boolean DEFAULT_CREATE_ABSOLUTE_URI

See Also:
  - Constant Field Values

### DEFAULT_REALM

public static final String DEFAULT_REALM

See Also:
  - Constant Field Values

### TYPE_NONCOLLECTIONS_DEFAULT

public static final String TYPE_NONCOLLECTIONS_DEFAULT

See Also:
  - Constant Field Values

### TYPE_CONTENT_DEFAULT

public static final String TYPE_CONTENT_DEFAULT

See Also:
  - Constant Field Values

### TYPE_COLLECTIONS_DEFAULT

public static final String TYPE_COLLECTIONS_DEFAULT

See Also:
  - Constant Field Values

### TYPE_COLLECTIONS

public static final String TYPE_COLLECTIONS

See Also:
  - Constant Field Values

### TYPE_NONCOLLECTIONS

public static final String TYPE_NONCOLLECTIONS

See Also:
  - Constant Field Values

### TYPE_CONTENT

public static final String TYPE_CONTENT

See Also:
  - Constant Field Values

## Constructor Details

### SlingWebDavServlet

public SlingWebDavServlet()

## Method Details

### init

public void init() throws javax.servlet.ServletException

Overrides:
  `init` in class `org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet`
Throws:
  `javax.servlet.ServletException`

### getRepository

public javax.jcr.Repository getRepository()

Specified by:
  `getRepository` in class `org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet`

### getLocatorFactory

public org.apache.jackrabbit.webdav.DavLocatorFactory getLocatorFactory()

Overrides:
  `getLocatorFactory` in class `org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet`

### getSessionProvider

public org.apache.jackrabbit.server.SessionProvider getSessionProvider()

Overrides:
  `getSessionProvider` in class `org.apache.jackrabbit.webdav.simple.SimpleWebdavServlet`

### activate

protected void activate(org.osgi.service.component.ComponentContext context, SlingWebDavServlet.Config config) throws org.osgi.service.http.NamespaceException, javax.servlet.ServletException

Throws:
  `org.osgi.service.http.NamespaceException`
  `javax.servlet.ServletException`

### deactivate

protected void deactivate(org.osgi.service.component.ComponentContext context)

### bindIOHandler

public void bindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)

### unbindIOHandler

public void unbindIOHandler(org.osgi.framework.ServiceReference ioHandlerReference)

### bindPropertyHandler

public void bindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)

### unbindPropertyHandler

public void unbindPropertyHandler(org.osgi.framework.ServiceReference propertyHandlerReference)

### bindCopyMoveHandler

public void bindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)

### unbindCopyMoveHandler

public void unbindCopyMoveHandler(org.osgi.framework.ServiceReference copyMoveHandlerReference)

### bindDeleteHandler

public void bindDeleteHandler(org.osgi.framework.ServiceReference deleteHandlerReference)

### unbindDeleteHandler

public void unbindDeleteHandler(org.osgi.framework.ServiceReference deleteHandlerReference)

### sendUnauthorized

protected void sendUnauthorized(org.apache.jackrabbit.webdav.WebdavRequest request, org.apache.jackrabbit.webdav.WebdavResponse response, org.apache.jackrabbit.webdav.DavException error) throws IOException
Overridden as the base class uses sendError that we don't want (SLING-2443)

Overrides:
  `sendUnauthorized` in class `org.apache.jackrabbit.webdav.server.AbstractWebdavServlet`
Throws:
  `IOException`