
public interface WikiAttachmentProvider extends WikiProvider
The difference between this class and WikiPageProvider is that there PageProviders handle Unicode text, whereas we handle binary data. While there are quite a lot of similarities in how we handle things, many providers can really use just one. In addition, since binary files can be really large, we rely on Input/OutputStreams.
LATEST_VERSION| Modifier and Type | Method and Description |
|---|---|
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.
|
List |
getVersionHistory(Attachment att)
Returns version history.
|
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.
|
getProviderInfo, initializevoid putAttachmentData(Attachment att, InputStream data) throws ProviderException, IOException
att - Attachment object to add new data todata - The stream from which the provider should read the dataIOException - If writing failsProviderException - If there are other errors.InputStream getAttachmentData(Attachment att) throws ProviderException, IOException
att - The attachmentProviderException - If the attachment cannot be foundIOException - If the attachment cannot be openedCollection listAttachments(WikiPage page) throws ProviderException
page - The page to list the attachments from.ProviderException - If something goes wrong when listing the attachments.Collection findAttachments(QueryItem[] query)
query - An array of QueryItem objects to search forList 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);
timestamp - List all files from this date onward.ProviderException - If something goes wrong.Attachment getAttachmentInfo(WikiPage page, String name, int version) throws ProviderException
page - 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.List getVersionHistory(Attachment att)
att - The attachment for which to find the version history for.void deleteVersion(Attachment att) throws ProviderException
att - 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.void deleteAttachment(Attachment att) throws ProviderException
att - Attachment to delete.ProviderException - If the page could not be removed for some reason.void moveAttachmentsForPage(String oldParent, String newParent) throws ProviderException
oldParent - 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.Copyright © 2001-2018 The Apache Software Foundation. All rights reserved.