|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.ecyrd.jspwiki.providers.CachingAttachmentProvider
public class CachingAttachmentProvider
Provides a caching attachment provider. This class rests on top of a real provider class and provides a cache to speed things up. Only the Attachment objects are cached; the actual attachment contents are fetched always from the provider.
| Field Summary | |
|---|---|
static String |
DIR_EXTENSION
The extension to append to directory names to denote an attachment directory. |
static String |
PROP_STORAGEDIR
Property that supplies the directory used to store attachments. |
| Fields inherited from interface com.ecyrd.jspwiki.WikiProvider |
|---|
LATEST_VERSION |
| Constructor Summary | |
|---|---|
CachingAttachmentProvider()
|
|
| Method Summary | |
|---|---|
void |
deleteAttachment(Attachment att)
Removes an entire page from the repository. |
void |
deleteVersion(Attachment att)
Removes a specific version from the repository. |
Collection |
findAttachments(QueryItem[] query)
Finds attachments based on the query. |
InputStream |
getAttachmentData(Attachment att)
Get attachment data. |
Attachment |
getAttachmentInfo(WikiPage page,
String name,
int version)
Returns info about an attachment. |
String |
getProviderInfo()
Return a valid HTML string for information. |
WikiAttachmentProvider |
getRealProvider()
Returns the WikiAttachmentProvider that this caching provider delegates to. |
List |
getVersionHistory(Attachment att)
Returns version history. |
void |
initialize(WikiEngine engine,
Properties properties)
Initializes the page provider. |
List |
listAllChanged(Date timestamp)
Lists changed attachments since given date. |
Collection |
listAttachments(WikiPage page)
Lists all attachments attached to a page. |
void |
moveAttachmentsForPage(String oldParent,
String newParent)
Move all the attachments for a given page so that they are attached to a new page. |
void |
putAttachmentData(Attachment att,
InputStream data)
Put new attachment data. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String DIR_EXTENSION
public static final String PROP_STORAGEDIR
| Constructor Detail |
|---|
public CachingAttachmentProvider()
| Method Detail |
|---|
public void initialize(WikiEngine engine,
Properties properties)
throws NoRequiredPropertyException,
IOException
initialize in interface WikiProviderengine - WikiEngine to own this providerproperties - A set of properties used to initialize this provider
NoRequiredPropertyException - If the provider needs a property which is not found in the property set
IOException - If there is an IO problem
public void putAttachmentData(Attachment att,
InputStream data)
throws ProviderException,
IOException
putAttachmentData in interface WikiAttachmentProvideratt - Attachment object to add new data todata - The stream from which the provider should read the data
ProviderException - If there are other errors.
IOException - If writing fails
public InputStream getAttachmentData(Attachment att)
throws ProviderException,
IOException
getAttachmentData in interface WikiAttachmentProvideratt - The attachment
ProviderException - If the attachment cannot be found
IOException - If the attachment cannot be opened
public Collection listAttachments(WikiPage page)
throws ProviderException
listAttachments in interface WikiAttachmentProviderpage - The page to list the attachments from.
ProviderException - If something goes wrong when listing the attachments.public Collection findAttachments(QueryItem[] query)
findAttachments in interface WikiAttachmentProviderquery - An array of QueryItem objects to search for
public List listAllChanged(Date timestamp)
throws ProviderException
This is different from WikiPageProvider, where you basically get a list of all pages, then sort them locally. However, since some providers can be more efficient in locating recently changed files (like any database) than our non-optimized Java code, it makes more sense to fetch the whole list this way.
To get all files, call this with Date(0L);
listAllChanged in interface WikiAttachmentProvidertimestamp - List all files from this date onward.
ProviderException - If something goes wrong.
public Attachment getAttachmentInfo(WikiPage page,
String name,
int version)
throws ProviderException
getAttachmentInfo in interface WikiAttachmentProviderpage - The parent pagename - The name of the attachmentversion - The version of the attachment (it's okay to use WikiPage.LATEST_VERSION to find the latest one)
ProviderException - If the attachment cannot be found or some other error occurs.public List getVersionHistory(Attachment att)
getVersionHistory in interface WikiAttachmentProvideratt - The attachment for which to find the version history for.
public void deleteVersion(Attachment att)
throws ProviderException
deleteVersion in interface WikiAttachmentProvideratt - Attachment to be removed. The version field is checked, and thus
only that version is removed.
ProviderException - If the attachment cannot be removed for some reason.
public void deleteAttachment(Attachment att)
throws ProviderException
deleteAttachment in interface WikiAttachmentProvideratt - Attachment to delete.
ProviderException - If the page could not be removed for some reason.public String getProviderInfo()
getProviderInfo in interface WikiProviderpublic WikiAttachmentProvider getRealProvider()
public void moveAttachmentsForPage(String oldParent,
String newParent)
throws ProviderException
moveAttachmentsForPage in interface WikiAttachmentProvideroldParent - Name of the page we are to move the attachments from.newParent - Name of the page we are to move the attachments to.
ProviderException - If the attachments could not be moved for some
reason.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||