Package nl.info.webdav
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 Summary
Modifier and TypeMethodDescriptionIndicates that a new request or transaction with this store involved has been started.voidcheckAuthentication(ITransaction transaction) Checks if authentication information passed in is valid.voidcommit(ITransaction transaction) Indicates that all changes done inside this request shall be made permanent and any transactions, connections and other temporary resources shall be terminated.voidcreateFolder(ITransaction transaction, String folderUri) Creates a folder at the position specified byfolderUri.voidcreateResource(ITransaction transaction, String resourceUri) Creates a content resource at the position specified byresourceUri.voiddestroy()Life cycle method, called by WebdavServlet's destroy() method.String[]getChildrenNames(ITransaction transaction, String folderUri) Gets the names of the children of the folder specified byfolderUri.getResourceContent(ITransaction transaction, String resourceUri) Gets the content of the resource specified byresourceUri.longgetResourceLength(ITransaction transaction, String path) Gets the length of the content resource specified byresourceUri.getStoredObject(ITransaction transaction, String uri) Gets the storedObject specified byurivoidremoveObject(ITransaction transaction, String uri) Removes the object specified byuri.voidrollback(ITransaction transaction) Indicates that all changes done inside this request shall be undone and any transactions, connections and other temporary resources shall be terminated.longsetResourceContent(ITransaction transaction, String resourceUri, InputStream content, String contentType, String characterEncoding) Sets / stores the content of the resource specified byresourceUri.
-
Method Details
-
destroy
void destroy()Life cycle method, called by WebdavServlet's destroy() method. Should be used to clean up resources. -
begin
Indicates that a new request or transaction with this store involved has been started. The request will be terminated by eithercommit(ITransaction)mmi} orrollback(ITransaction). If only non-read methods have been called, the request will be terminated by acommit(ITransaction). This method will be called by (@link WebdavStoreAdapter} at the beginning of each request.- Parameters:
principal- the principal that started this request ornullif there is none available- Throws:
WebdavException- if something goes wrong on the store level
-
checkAuthentication
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
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
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
Creates a folder at the position specified byfolderUri.- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionfolderUri- URI of the folder- Throws:
WebdavException- if something goes wrong on the store level
-
createResource
Creates a content resource at the position specified byresourceUri.- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionresourceUri- URI of the content resource- Throws:
WebdavException- if something goes wrong on the store level
-
getResourceContent
Gets the content of the resource specified byresourceUri.- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionresourceUri- 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 byresourceUri.- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionresourceUri- URI of the resource where the content will be storedcontent- input stream from which the content will be read fromcontentType- content type of the resource ornullif unknowncharacterEncoding- character encoding of the resource ornullif unknown or not applicable- Returns:
- length of the resource
- Throws:
WebdavException- if something goes wrong on the store level
-
getChildrenNames
Gets the names of the children of the folder specified byfolderUri.- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionfolderUri- URI of the folder- Returns:
- a (possibly empty) list of children, or
nullif the uri points to a file - Throws:
WebdavException- if something goes wrong on the store level
-
getResourceLength
Gets the length of the content resource specified byresourceUri.- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionpath- URI of the content resource- Returns:
- length of the resource in bytes,
-1declares 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
Removes the object specified byuri.- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionuri- URI of the object, i.e. content resource or folder- Throws:
WebdavException- if something goes wrong on the store level
-
getStoredObject
Gets the storedObject specified byuri- Parameters:
transaction- indicates that the method is within the scope of a WebDAV transactionuri- URI- Returns:
- StoredObject
-