org.apache.jetspeed.page.document.psml
Class FileSystemFolderHandler

java.lang.Object
  extended by org.apache.jetspeed.page.document.psml.FileSystemFolderHandler
All Implemented Interfaces:
org.apache.jetspeed.cache.file.FileCacheEventListener, org.apache.jetspeed.page.document.FolderHandler

public class FileSystemFolderHandler
extends Object
implements org.apache.jetspeed.page.document.FolderHandler, org.apache.jetspeed.cache.file.FileCacheEventListener

FileSystemFolderHandler

Implementation of FolderHanlder that is based off of the file system.

Version:
$Id: FileSystemFolderHandler.java 553584 2007-07-05 18:09:45Z taylor $
Author:
Scott T. Weaver

Nested Class Summary
 class FileSystemFolderHandler.DocumentTypeFilter
           
 
Field Summary
private  File documentRootDir
           
private  org.apache.jetspeed.cache.file.FileCache fileCache
           
protected static FilenameFilter FOLDER_FILTER
           
private  org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory
           
private static org.apache.commons.logging.Log log
           
private  org.apache.jetspeed.page.document.DocumentHandler metadataDocHandler
           
 
Constructor Summary
FileSystemFolderHandler(String documentRoot, org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory, org.apache.jetspeed.cache.file.FileCache fileCache)
           
 
Method Summary
protected  void addToCache(String id, Object objectToCache)
           addToCache
private static boolean deleteFile(File file)
           
 void evict(org.apache.jetspeed.cache.file.FileCacheEntry entry)
           evict
protected  String[] getChildrenNames(String path, FilenameFilter filter)
           
 org.apache.jetspeed.om.folder.Folder getFolder(String path)
           getFolder
 org.apache.jetspeed.om.folder.Folder getFolder(String path, boolean fromCache)
           getFolder
 org.apache.jetspeed.page.document.NodeSet getFolders(String path)
           getFolders
private  void getNodes(org.apache.jetspeed.om.folder.Folder folder, String path, boolean regexp, org.apache.jetspeed.page.document.NodeSet matched)
           
 org.apache.jetspeed.page.document.NodeSet getNodes(String path, boolean regexp, String documentType)
           getChildNodes
 boolean isFolder(String path)
           
 String[] list(String folderPath, String documentType)
           list
 String[] listAll(String folderPath)
           listAll
 void refresh(org.apache.jetspeed.cache.file.FileCacheEntry entry)
           refresh
 void removeFolder(org.apache.jetspeed.om.folder.Folder folder)
           removeFolder
 void updateFolder(org.apache.jetspeed.om.folder.Folder folder)
           updateFolder
protected  void verifyPath(File path)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

documentRootDir

private File documentRootDir

metadataDocHandler

private org.apache.jetspeed.page.document.DocumentHandler metadataDocHandler

handlerFactory

private org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory

log

private static final org.apache.commons.logging.Log log

FOLDER_FILTER

protected static final FilenameFilter FOLDER_FILTER

fileCache

private org.apache.jetspeed.cache.file.FileCache fileCache
Constructor Detail

FileSystemFolderHandler

public FileSystemFolderHandler(String documentRoot,
                               org.apache.jetspeed.page.document.DocumentHandlerFactory handlerFactory,
                               org.apache.jetspeed.cache.file.FileCache fileCache)
                        throws FileNotFoundException,
                               org.apache.jetspeed.page.document.UnsupportedDocumentTypeException
Parameters:
documentRoot - directory on file system to use as the root when locating folders
handlerFactory - A DocumentHandlerFactory
fileCache - For caching folder instances
Throws:
FileNotFoundException - if the documentRoot does not exist
org.apache.jetspeed.page.document.UnsupportedDocumentTypeException - if no DocumentHnadler could be found that supports folder metadata (folder.metadata) in the handlerFactory.
Method Detail

getFolder

public org.apache.jetspeed.om.folder.Folder getFolder(String path)
                                               throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                      org.apache.jetspeed.om.folder.InvalidFolderException,
                                                      org.apache.jetspeed.page.document.NodeException

getFolder

Specified by:
getFolder in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
path -
Returns:
@throws FolderNotFoundException
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
org.apache.jetspeed.om.folder.InvalidFolderException
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.page.document.DocumentNotFoundException
See Also:
FolderHandler.getFolder(java.lang.String)

verifyPath

protected void verifyPath(File path)
                   throws FileNotFoundException
Throws:
FileNotFoundException

getFolder

public org.apache.jetspeed.om.folder.Folder getFolder(String path,
                                                      boolean fromCache)
                                               throws org.apache.jetspeed.page.document.NodeException,
                                                      org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                      org.apache.jetspeed.om.folder.InvalidFolderException

getFolder

Specified by:
getFolder in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
path -
fromCache -
Returns:
@throws DocumentException, FolderNotFoundException
Throws:
org.apache.jetspeed.om.folder.InvalidFolderException
org.apache.jetspeed.page.document.DocumentNotFoundException
org.apache.jetspeed.page.document.NodeException
org.apache.jetspeed.om.folder.FolderNotFoundException
See Also:
FolderHandler.getFolder(java.lang.String, boolean)

updateFolder

public void updateFolder(org.apache.jetspeed.om.folder.Folder folder)
                  throws org.apache.jetspeed.page.document.FailedToUpdateFolderException

updateFolder

Specified by:
updateFolder in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
folder -
Throws:
org.apache.jetspeed.page.document.FailedToUpdateFolderException
See Also:
FolderHandler.updateFolder(org.apache.jetspeed.om.folder.Folder)

removeFolder

public void removeFolder(org.apache.jetspeed.om.folder.Folder folder)
                  throws org.apache.jetspeed.page.document.FailedToDeleteFolderException

removeFolder

Specified by:
removeFolder in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
folder -
Throws:
org.apache.jetspeed.page.document.FailedToDeleteFolderException
See Also:
FolderHandler.removeFolder(org.apache.jetspeed.om.folder.Folder)

deleteFile

private static final boolean deleteFile(File file)

getFolders

public org.apache.jetspeed.page.document.NodeSet getFolders(String path)
                                                     throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                            org.apache.jetspeed.om.folder.InvalidFolderException,
                                                            org.apache.jetspeed.page.document.NodeException

getFolders

Specified by:
getFolders in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
path -
Returns:
@throws FolderNotFoundException
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
org.apache.jetspeed.om.folder.InvalidFolderException
org.apache.jetspeed.page.document.NodeException
See Also:
FolderHandler.getFolders(java.lang.String)

list

public String[] list(String folderPath,
                     String documentType)
              throws org.apache.jetspeed.om.folder.FolderNotFoundException

list

Specified by:
list in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
documentType -
Returns:
@throws FolderNotFoundException
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
See Also:
org.apache.jetspeed.page.document.FolderHandler#list(java.lang.String)

listAll

public String[] listAll(String folderPath)
                 throws org.apache.jetspeed.om.folder.FolderNotFoundException

listAll

Specified by:
listAll in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
folderPath -
Returns:
@throws FolderNotFoundException
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
See Also:
FolderHandler.listAll(java.lang.String)

getChildrenNames

protected String[] getChildrenNames(String path,
                                    FilenameFilter filter)
                             throws org.apache.jetspeed.om.folder.FolderNotFoundException
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException

getNodes

public org.apache.jetspeed.page.document.NodeSet getNodes(String path,
                                                          boolean regexp,
                                                          String documentType)
                                                   throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                                                          org.apache.jetspeed.om.folder.InvalidFolderException,
                                                          org.apache.jetspeed.page.document.NodeException

getChildNodes

Specified by:
getNodes in interface org.apache.jetspeed.page.document.FolderHandler
Parameters:
path -
regexp -
documentType -
Returns:
NodeSet
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
DocumentException
org.apache.jetspeed.om.folder.InvalidFolderException
org.apache.jetspeed.page.document.NodeException
See Also:
FolderHandler.getNodes(java.lang.String,boolean,java.lang.String)

getNodes

private void getNodes(org.apache.jetspeed.om.folder.Folder folder,
                      String path,
                      boolean regexp,
                      org.apache.jetspeed.page.document.NodeSet matched)
               throws org.apache.jetspeed.om.folder.FolderNotFoundException,
                      org.apache.jetspeed.om.folder.InvalidFolderException,
                      org.apache.jetspeed.page.document.NodeException
Throws:
org.apache.jetspeed.om.folder.FolderNotFoundException
org.apache.jetspeed.om.folder.InvalidFolderException
org.apache.jetspeed.page.document.NodeException

addToCache

protected void addToCache(String id,
                          Object objectToCache)

addToCache

Parameters:
id -
objectToCache -

refresh

public void refresh(org.apache.jetspeed.cache.file.FileCacheEntry entry)
             throws Exception

refresh

Specified by:
refresh in interface org.apache.jetspeed.cache.file.FileCacheEventListener
Parameters:
entry -
Throws:
Exception
See Also:
FileCacheEventListener.refresh(org.apache.jetspeed.cache.file.FileCacheEntry)

evict

public void evict(org.apache.jetspeed.cache.file.FileCacheEntry entry)
           throws Exception

evict

Specified by:
evict in interface org.apache.jetspeed.cache.file.FileCacheEventListener
Parameters:
entry -
Throws:
Exception
See Also:
FileCacheEventListener.evict(org.apache.jetspeed.cache.file.FileCacheEntry)

isFolder

public boolean isFolder(String path)
Specified by:
isFolder in interface org.apache.jetspeed.page.document.FolderHandler


Copyright © 1999-2007 Apache Software Foundation. All Rights Reserved.