ModeShape Distribution 3.0.0.Beta4

org.modeshape.webdav
Interface IWebdavStore

All Known Implementing Classes:
LocalFileSystemStore

public interface IWebdavStore

Interface for simple implementation of any store for the WebdavServlet

based on the BasicWebdavStore from Oliver Zeigermann, that was part of the Webdav Construcktion Kit from slide


Method Summary
 ITransaction begin(Principal principal)
          Indicates that a new request or transaction with this store involved has been started.
 void checkAuthentication(ITransaction transaction)
          Checks if authentication information passed in is valid.
 void commit(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.
 void createFolder(ITransaction transaction, String folderUri)
          Creates a folder at the position specified by folderUri.
 void createResource(ITransaction transaction, String resourceUri)
          Creates a content resource at the position specified by resourceUri.
 void destroy()
          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 by folderUri.
 InputStream getResourceContent(ITransaction transaction, String resourceUri)
          Gets the content of the resource specified by resourceUri.
 long getResourceLength(ITransaction transaction, String resourceUri)
          Gets the length of the content resource specified by resourceUri.
 StoredObject getStoredObject(ITransaction transaction, String uri)
          Gets the storedObject specified by uri
 void removeObject(ITransaction transaction, String uri)
          Removes the object specified by uri.
 void rollback(ITransaction transaction)
          Indicates that all changes done inside this request shall be undone and any transactions, connections and other temporary resources shall be terminated.
 long setResourceContent(ITransaction transaction, String resourceUri, InputStream content, String contentType, String characterEncoding)
          Sets / stores the content of the resource specified by resourceUri.
 

Method Detail

destroy

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


begin

ITransaction begin(Principal principal)
Indicates that a new request or transaction with this store involved has been started. The request will be terminated by either commit(ITransaction) 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 non available
Returns:
a new transaction
Throws:
WebdavException

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)
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)
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)
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)
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)
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)
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:
lenght of resource
Throws:
WebdavException - if something goes wrong on the store level

getChildrenNames

String[] getChildrenNames(ITransaction transaction,
                          String folderUri)
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 resourceUri)
Gets the length of the content resource specified by resourceUri.

Parameters:
transaction - indicates that the method is within the scope of a WebDAV transaction
resourceUri - URI of the resource for which the length should be retrieved
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)
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

ModeShape Distribution 3.0.0.Beta4

Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.