net.sf.webdav
Interface IWebdavStorage

All Known Implementing Classes:
LocalFileSystemStorage

public interface IWebdavStorage

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
 void begin(java.security.Principal principal, java.util.Hashtable parameters)
          Indicates that a new request or transaction with this store involved has been started.
 void checkAuthentication()
          Checks if authentication information passed in #begin(Service, Principal, Object, LoggerFacade, Hashtable) is valid.
 void commit()
          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(java.lang.String folderUri)
          Creates a folder at the position specified by folderUri.
 void createResource(java.lang.String resourceUri)
          Creates a content resource at the position specified by resourceUri.
 java.lang.String[] getChildrenNames(java.lang.String folderUri)
          Gets the names of the children of the folder specified by folderUri.
 java.util.Date getCreationDate(java.lang.String uri)
          Gets the date of the creation of the object specified by uri.
 java.util.Date getLastModified(java.lang.String uri)
          Gets the date of the last modiciation of the object specified by uri.
 java.io.InputStream getResourceContent(java.lang.String resourceUri)
          Gets the content of the resource specified by resourceUri.
 long getResourceLength(java.lang.String resourceUri)
          Gets the length of the content resource specified by resourceUri.
 boolean isFolder(java.lang.String uri)
          Checks if there is an object at the position specified by uri and if so if it is a folder.
 boolean isResource(java.lang.String uri)
          Checks if there is an object at the position specified by uri and if so if it is a content resource.
 boolean objectExists(java.lang.String uri)
          Checks if there is an object at the position specified by uri.
 void removeObject(java.lang.String uri)
          Removes the object specified by uri.
 void rollback()
          Indicates that all changes done inside this request shall be undone and any transactions, connections and other temporary resources shall be terminated.
 void setResourceContent(java.lang.String resourceUri, java.io.InputStream content, java.lang.String contentType, java.lang.String characterEncoding)
          Sets / stores the content of the resource specified by resourceUri.
 

Method Detail

begin

public void begin(java.security.Principal principal,
                  java.util.Hashtable parameters)
           throws java.lang.Exception
Indicates that a new request or transaction with this store involved has been started. The request will be terminated by either commit() or rollback(). If only non-read methods have been called, the request will be terminated by a commit(). 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
parameters - Hashtable containing the parameters' names and associated values configured in the from web.xml
Throws:
java.lang.Exception

checkAuthentication

public void checkAuthentication()
                         throws java.lang.SecurityException
Checks if authentication information passed in #begin(Service, Principal, Object, LoggerFacade, Hashtable) is valid. If not throws an exception.

Throws:
java.lang.SecurityException - if authentication is not valid

commit

public void commit()
            throws java.io.IOException
Indicates that all changes done inside this request shall be made permanent and any transactions, connections and other temporary resources shall be terminated.

Throws:
java.io.IOException - if something goes wrong on the store level

rollback

public void rollback()
              throws java.io.IOException
Indicates that all changes done inside this request shall be undone and any transactions, connections and other temporary resources shall be terminated.

Throws:
java.io.IOException - if something goes wrong on the store level

objectExists

public boolean objectExists(java.lang.String uri)
                     throws java.io.IOException
Checks if there is an object at the position specified by uri.

Parameters:
uri - URI of the object to check
Returns:
true if the object at uri exists
Throws:
java.io.IOException - if something goes wrong on the store level

isFolder

public boolean isFolder(java.lang.String uri)
                 throws java.io.IOException
Checks if there is an object at the position specified by uri and if so if it is a folder.

Parameters:
uri - URI of the object to check
Returns:
true if the object at uri exists and is a folder
Throws:
java.io.IOException - if something goes wrong on the store level

isResource

public boolean isResource(java.lang.String uri)
                   throws java.io.IOException
Checks if there is an object at the position specified by uri and if so if it is a content resource.

Parameters:
uri - URI of the object to check
Returns:
true if the object at uri exists and is a content resource
Throws:
java.io.IOException - if something goes wrong on the store level

createFolder

public void createFolder(java.lang.String folderUri)
                  throws java.io.IOException
Creates a folder at the position specified by folderUri.

Parameters:
folderUri - URI of the folder
Throws:
java.io.IOException - if something goes wrong on the store level

createResource

public void createResource(java.lang.String resourceUri)
                    throws java.io.IOException
Creates a content resource at the position specified by resourceUri.

Parameters:
resourceUri - URI of the content resource
Throws:
java.io.IOException - if something goes wrong on the store level

setResourceContent

public void setResourceContent(java.lang.String resourceUri,
                               java.io.InputStream content,
                               java.lang.String contentType,
                               java.lang.String characterEncoding)
                        throws java.io.IOException
Sets / stores the content of the resource specified by resourceUri.

Parameters:
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
Throws:
java.io.IOException - if something goes wrong on the store level

getLastModified

public java.util.Date getLastModified(java.lang.String uri)
                               throws java.io.IOException
Gets the date of the last modiciation of the object specified by uri.

Parameters:
uri - URI of the object, i.e. content resource or folder
Returns:
date of last modification, null declares this value as invalid and asks the adapter to try to set it from the properties if possible
Throws:
java.io.IOException - if something goes wrong on the store level

getCreationDate

public java.util.Date getCreationDate(java.lang.String uri)
                               throws java.io.IOException
Gets the date of the creation of the object specified by uri.

Parameters:
uri - URI of the object, i.e. content resource or folder
Returns:
date of creation, null declares this value as invalid and asks the adapter to try to set it from the properties if possible
Throws:
java.io.IOException - if something goes wrong on the store level

getChildrenNames

public java.lang.String[] getChildrenNames(java.lang.String folderUri)
                                    throws java.io.IOException
Gets the names of the children of the folder specified by folderUri.

Parameters:
folderUri - URI of the folder
Returns:
array containing names of the children or null if it is no folder
Throws:
java.io.IOException - if something goes wrong on the store level

getResourceContent

public java.io.InputStream getResourceContent(java.lang.String resourceUri)
                                       throws java.io.IOException
Gets the content of the resource specified by resourceUri.

Parameters:
resourceUri - URI of the content resource
Returns:
input stream you can read the content of the resource from
Throws:
java.io.IOException - if something goes wrong on the store level

getResourceLength

public long getResourceLength(java.lang.String resourceUri)
                       throws java.io.IOException
Gets the length of the content resource specified by resourceUri.

Parameters:
resourceUri - 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:
java.io.IOException - if something goes wrong on the store level

removeObject

public void removeObject(java.lang.String uri)
                  throws java.io.IOException
Removes the object specified by uri.

Parameters:
uri - URI of the object, i.e. content resource or folder
Throws:
java.io.IOException - if something goes wrong on the store level


Copyright 2006-2006 media-style. All Rights Reserved.