Class LocalFileSystemStore

java.lang.Object
nl.info.webdav.LocalFileSystemStore
All Implemented Interfaces:
IWebdavStore

public class LocalFileSystemStore extends Object implements IWebdavStore
Reference Implementation of WebdavStore
  • Constructor Details

    • LocalFileSystemStore

      public LocalFileSystemStore(File root)
  • Method Details

    • destroy

      public void destroy()
      Description copied from interface: IWebdavStore
      Life cycle method, called by WebdavServlet's destroy() method. Should be used to clean up resources.
      Specified by:
      destroy in interface IWebdavStore
    • begin

      public ITransaction begin(Principal principal) throws WebdavException
      Description copied from interface: IWebdavStore
      Indicates that a new request or transaction with this store involved has been started. The request will be terminated by either IWebdavStore.commit(ITransaction) mmi} or IWebdavStore.rollback(ITransaction). If only non-read methods have been called, the request will be terminated by a IWebdavStore.commit(ITransaction). This method will be called by (@link WebdavStoreAdapter} at the beginning of each request.
      Specified by:
      begin in interface IWebdavStore
      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

      public void checkAuthentication(ITransaction transaction) throws SecurityException
      Description copied from interface: IWebdavStore
      Checks if authentication information passed in is valid. If not throws an exception.
      Specified by:
      checkAuthentication in interface IWebdavStore
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      Throws:
      SecurityException
    • commit

      public void commit(ITransaction transaction) throws WebdavException
      Description copied from interface: IWebdavStore
      Indicates that all changes done inside this request shall be made permanent and any transactions, connections and other temporary resources shall be terminated.
      Specified by:
      commit in interface IWebdavStore
      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

      public void rollback(ITransaction transaction) throws WebdavException
      Description copied from interface: IWebdavStore
      Indicates that all changes done inside this request shall be undone and any transactions, connections and other temporary resources shall be terminated.
      Specified by:
      rollback in interface IWebdavStore
      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

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

      public void createResource(ITransaction transaction, String uri) throws WebdavException
      Description copied from interface: IWebdavStore
      Creates a content resource at the position specified by resourceUri.
      Specified by:
      createResource in interface IWebdavStore
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - URI of the content resource
      Throws:
      WebdavException - if something goes wrong on the store level
    • setResourceContent

      public long setResourceContent(ITransaction transaction, String uri, InputStream is, String contentType, String characterEncoding) throws WebdavException
      Description copied from interface: IWebdavStore
      Sets / stores the content of the resource specified by resourceUri.
      Specified by:
      setResourceContent in interface IWebdavStore
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - URI of the resource where the content will be stored
      is - 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

      public String[] getChildrenNames(ITransaction transaction, String uri) throws WebdavException
      Description copied from interface: IWebdavStore
      Gets the names of the children of the folder specified by folderUri.
      Specified by:
      getChildrenNames in interface IWebdavStore
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - 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
    • removeObject

      public void removeObject(ITransaction transaction, String uri) throws WebdavException
      Description copied from interface: IWebdavStore
      Removes the object specified by uri.
      Specified by:
      removeObject in interface IWebdavStore
      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
    • getResourceContent

      public InputStream getResourceContent(ITransaction transaction, String uri) throws WebdavException
      Description copied from interface: IWebdavStore
      Gets the content of the resource specified by resourceUri.
      Specified by:
      getResourceContent in interface IWebdavStore
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - 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
    • getResourceLength

      public long getResourceLength(ITransaction transaction, String uri) throws WebdavException
      Description copied from interface: IWebdavStore
      Gets the length of the content resource specified by resourceUri.
      Specified by:
      getResourceLength in interface IWebdavStore
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - 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
    • getStoredObject

      public StoredObject getStoredObject(ITransaction transaction, String uri)
      Description copied from interface: IWebdavStore
      Gets the storedObject specified by uri
      Specified by:
      getStoredObject in interface IWebdavStore
      Parameters:
      transaction - indicates that the method is within the scope of a WebDAV transaction
      uri - URI
      Returns:
      StoredObject