Package org.apache.catalina.servlets

# Interface WebdavServlet.PropertyStore

Enclosing class:
  `WebdavServlet`

public static interface WebdavServlet.PropertyStore
Handling of dead properties on resources. This interface allows providing storage for dead properties. Store configuration is done through the `propertyStore` init parameter of the WebDAV Servlet, which should contain the class name of the store.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `copy(String source, String destination)`
  Copy resource.
  `void`
  `delete(String resource)`
  Delete specified resource.
  `void`
  `destroy()`
  Destroy the store.
  `void`
  `init()`
  Initialize the store.
  `void`
  `periodicEvent()`
  Periodic event for maintenance tasks.
  `boolean`
  `propfind(String resource, Node property, boolean nameOnly, XMLWriter generatedXML)`
  Generate propfind XML fragments for dead properties.
  `void`
  `proppatch(String resource, ArrayList<WebdavServlet.ProppatchOperation> operations)`
  Apply proppatch to the specified resource.

- ## Method Details

  - ### init

    void init()
    Initialize the store. This is tied to the Servlet lifecycle and is called by its init method.

  - ### destroy

    void destroy()
    Destroy the store. This is tied to the Servlet lifecycle and is called by its destroy method.

  - ### periodicEvent

    void periodicEvent()
    Periodic event for maintenance tasks.

  - ### copy

    void copy(String source, String destination)
    Copy resource. Dead properties should be copied to the destination path.
    Parameters:
      `source` - the copy source path
      `destination` - the copy destination path

  - ### delete

    void delete(String resource)
    Delete specified resource. Dead properties on a deleted resource should be deleted.
    Parameters:
      `resource` - the path of the resource to delete

  - ### propfind

    boolean propfind(String resource, Node property, boolean nameOnly, XMLWriter generatedXML)
    Generate propfind XML fragments for dead properties.
    Parameters:
      `resource` - the resource path
      `property` - the dead property, if null then all dead properties must be written
      `nameOnly` - true if only the property name element should be generated
      `generatedXML` - the current generated XML for the PROPFIND response
    Returns:
      true if a property was specified and a corresponding dead property was found on the resource, false otherwise

  - ### proppatch

    void proppatch(String resource, ArrayList<WebdavServlet.ProppatchOperation> operations)
    Apply proppatch to the specified resource.
    Parameters:
      `resource` - the resource path on which to apply the proppatch
      `operations` - the set and remove to apply, the final status codes of the result should be set on each operation