Interface IWebdavStore

All Known Implementing Classes:
LocalFileSystemStore

public interface IWebdavStore
Interface for simple webdav store implementations.

Based on the BasicWebdavStore from Oliver Zeigermann, that was part of the Webdav Construction Kit.

  • Method Details

    • destroy

      void destroy()
      Life cycle method, called by WebdavServlet's destroy() method. Should be used to clean up resources.
    • begin

      ITransaction begin(Principal principal) throws WebdavException
      Indicates that a new request or transaction with this store involved has been started. The request will be terminated by either commit(ITransaction) mmi} or rollback(ITransaction). If only non-read methods have been called, the request will be terminated by a commit(ITransaction). This method will be called by (@link WebdavStoreAdapter} at the beginning of each request.
      Parameters:
      principal - the principal that started this request or null if there is none available
      Throws:
      WebdavException - if something goes wrong on the store level
    • checkAuthentication

      void checkAuthentication(ITransaction transaction)
      Checks if authentication information passed in is valid. If not throws an exception.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
    • commit

      void commit(ITransaction transaction) throws WebdavException
      Indicates that all changes done inside this request shall be made permanent and any transactions, connections and other temporary resources shall be terminated.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      Throws:
      WebdavException - if something goes wrong on the store level
    • rollback

      void rollback(ITransaction transaction) throws WebdavException
      Indicates that all changes done inside this request shall be undone and any transactions, connections and other temporary resources shall be terminated.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      Throws:
      WebdavException - if something goes wrong on the store level
    • createFolder

      void createFolder(ITransaction transaction, String folderUri) throws WebdavException
      Creates a folder at the position specified by folderUri.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      folderUri - URI of the folder
      Throws:
      WebdavException - if something goes wrong on the store level
    • createResource

      void createResource(ITransaction transaction, String resourceUri) throws WebdavException
      Creates a content resource at the position specified by resourceUri.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      resourceUri - URI of the content resource
      Throws:
      WebdavException - if something goes wrong on the store level
    • getResourceContent

      InputStream getResourceContent(ITransaction transaction, String resourceUri) throws WebdavException
      Gets the content of the resource specified by resourceUri.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      resourceUri - URI of the content resource
      Returns:
      input stream you can read the content of the resource from
      Throws:
      WebdavException - if something goes wrong on the store level
    • setResourceContent

      long setResourceContent(ITransaction transaction, String resourceUri, InputStream content, String contentType, String characterEncoding) throws WebdavException
      Sets / stores the content of the resource specified by resourceUri.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      resourceUri - URI of the resource where the content will be stored
      content - input stream from which the content will be read from
      contentType - content type of the resource or null if unknown
      characterEncoding - character encoding of the resource or null if unknown or not applicable
      Returns:
      length of the resource
      Throws:
      WebdavException - if something goes wrong on the store level
    • getChildrenNames

      String[] getChildrenNames(ITransaction transaction, String folderUri) throws WebdavException
      Gets the names of the children of the folder specified by folderUri.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      folderUri - URI of the folder
      Returns:
      a (possibly empty) list of children, or null if the uri points to a file
      Throws:
      WebdavException - if something goes wrong on the store level
    • getResourceLength

      long getResourceLength(ITransaction transaction, String path) throws WebdavException
      Gets the length of the content resource specified by resourceUri.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      path - URI of the content resource
      Returns:
      length of the resource in bytes, -1 declares this value as invalid and asks the adapter to try to set it from the properties if possible
      Throws:
      WebdavException - if something goes wrong on the store level
    • removeObject

      void removeObject(ITransaction transaction, String uri) throws WebdavException
      Removes the object specified by uri.
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - URI of the object, i.e. content resource or folder
      Throws:
      WebdavException - if something goes wrong on the store level
    • getStoredObject

      StoredObject getStoredObject(ITransaction transaction, String uri)
      Gets the storedObject specified by uri
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - URI
      Returns:
      StoredObject