|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.ecyrd.jspwiki.providers.AbstractFileProvider
public abstract class AbstractFileProvider
Provides a simple directory based repository for Wiki pages.
All files have ".txt" appended to make life easier for those who insist on using Windows or other software which makes assumptions on the files contents based on its name.
This class functions as a superclass to all file based providers.
Nested Class Summary | |
---|---|
class |
AbstractFileProvider.WikiFileFilter
|
Field Summary | |
---|---|
static String |
DEFAULT_ENCODING
|
static String |
FILE_EXT
All files should have this extension to be recognized as JSPWiki files. |
protected String |
m_encoding
|
protected WikiEngine |
m_engine
|
static String |
PROP_PAGEDIR
Name of the property that defines where page directories are. |
Fields inherited from interface com.ecyrd.jspwiki.WikiProvider |
---|
LATEST_VERSION |
Constructor Summary | |
---|---|
AbstractFileProvider()
|
Method Summary | |
---|---|
void |
deletePage(String pageName)
Removes an entire page from the repository. |
void |
deleteVersion(String pageName,
int version)
Removes a specific version from the repository. |
protected File |
findPage(String page)
Finds a Wiki page from the page repository. |
Collection |
findPages(QueryItem[] query)
Iterates through all WikiPages, matches them against the given query, and returns a Collection of SearchResult objects. |
Collection |
getAllChangedSince(Date date)
Gets a list of recent changes. |
Collection |
getAllPages()
Returns all pages. |
int |
getPageCount()
Gets the number of pages. |
WikiPage |
getPageInfo(String page,
int version)
Always returns the latest version, since FileSystemProvider does not support versioning. |
String |
getPageText(String page,
int version)
This implementation just returns the current version, as filesystem does not provide versioning information for now. |
String |
getProviderInfo()
Return a valid HTML string for information. |
List |
getVersionHistory(String page)
The FileSystemProvider provides only one version. |
void |
initialize(WikiEngine engine,
Properties properties)
Initializes the page provider. |
protected String |
mangleName(String pagename)
This makes sure that the queried page name is still readable by the file system. |
boolean |
pageExists(String page)
Return true, if page exists. |
void |
putPageText(WikiPage page,
String text)
Attempts to save the page text for page "page". |
protected String |
unmangleName(String filename)
This makes the reverse of mangleName. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.ecyrd.jspwiki.providers.WikiPageProvider |
---|
movePage |
Field Detail |
---|
protected String m_encoding
protected WikiEngine m_engine
public static final String PROP_PAGEDIR
public static final String FILE_EXT
public static final String DEFAULT_ENCODING
Constructor Detail |
---|
public AbstractFileProvider()
Method Detail |
---|
public void initialize(WikiEngine engine, Properties properties) throws NoRequiredPropertyException, IOException
WikiProvider
initialize
in interface WikiProvider
FileNotFoundException
- If the specified page directory does not exist.
IOException
- In case the specified page directory is a file, not a directory.
NoRequiredPropertyException
protected String mangleName(String pagename)
protected String unmangleName(String filename)
protected File findPage(String page)
public boolean pageExists(String page)
WikiPageProvider
pageExists
in interface WikiPageProvider
public String getPageText(String page, int version) throws ProviderException
getPageText
in interface WikiPageProvider
page
- Name of the page to fetch.version
- Version of the page to fetch.
ProviderException
public void putPageText(WikiPage page, String text) throws ProviderException
WikiPageProvider
putPageText
in interface WikiPageProvider
ProviderException
public Collection getAllPages() throws ProviderException
WikiPageProvider
getAllPages
in interface WikiPageProvider
ProviderException
public Collection getAllChangedSince(Date date)
WikiPageProvider
getAllChangedSince
in interface WikiPageProvider
public int getPageCount()
WikiPageProvider
getPageCount
in interface WikiPageProvider
public Collection findPages(QueryItem[] query)
findPages
in interface WikiPageProvider
public WikiPage getPageInfo(String page, int version) throws ProviderException
getPageInfo
in interface WikiPageProvider
ProviderException
public List getVersionHistory(String page) throws ProviderException
getVersionHistory
in interface WikiPageProvider
ProviderException
public String getProviderInfo()
WikiProvider
getProviderInfo
in interface WikiProvider
public void deleteVersion(String pageName, int version) throws ProviderException
WikiPageProvider
deleteVersion
in interface WikiPageProvider
pageName
- Name of the page to be removed.version
- Version of the page to be removed. May be LATEST_VERSION.
ProviderException
- If the page cannot be removed for some reason.public void deletePage(String pageName) throws ProviderException
WikiPageProvider
The reason why this is named differently from deleteVersion() (logically, this method should be an overloaded version) is that I want to be absolutely sure I don't accidentally use the wrong method. With overloading something like that happens sometimes...
deletePage
in interface WikiPageProvider
pageName
- Name of the page to be removed completely.
ProviderException
- If the page could not be removed for some reason.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |