Package com.logicaldoc.core.document
Interface DocumentManager
-
- All Known Implementing Classes:
DocumentManagerImpl
public interface DocumentManager
A general manager for documents handling issues- Since:
- 3.5
- Author:
- Marco Meschieri - LogicalDOC
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
archiveDocuments(long[] docIds, DocumentHistory transaction)
Archives all the documents in a folder's treelong
archiveFolder(long folderId, DocumentHistory transaction)
Archives all the documents in a folder's treevoid
changeIndexingStatus(Document doc, int status)
Utility method used to declare that: the document must be taken into consideration by the indexer (status =AbstractDocument.INDEX_TO_INDEX
. the document must be taken into consideration by the indexer for the metadata only(status =AbstractDocument.INDEX_TO_INDEX_METADATA
. the document must not be taken into consideration by the indexer (status =AbstractDocument.INDEX_SKIP
).void
checkin(long docId, File file, String filename, boolean release, AbstractDocument docVO, DocumentHistory transaction)
Checks in the given documentvoid
checkin(long docId, InputStream fileInputStream, String filename, boolean release, AbstractDocument docVO, DocumentHistory transaction)
Checks in the given documentvoid
checkout(long docId, DocumentHistory transaction)
Checks out the given documentDocument
copyToFolder(Document doc, Folder folder, DocumentHistory transaction)
Copy a document to the specified folder.Document
create(File file, Document docVO, DocumentHistory transaction)
Creates a new Document.Document
create(InputStream content, Document docVO, DocumentHistory transaction)
Creates a new Document.Document
createAlias(Document doc, Folder folder, String type, DocumentHistory transaction)
Create an alias(shortcut) associated to the given doc to the specified folder.Ticket
createDownloadTicket(long docId, String suffix, Integer expireHours, Date expireDate, Integer maxDownloads, String urlPrefix, DocumentHistory transaction)
Creates a new download ticket.void
deleteFromIndex(Document doc)
Utility method for document removal from index and database update(flag indexed)Version
deleteVersion(long versionId, DocumentHistory transaction)
Deletes a specific version.int
enforceFilesIntoFolderStorage(long rootFolderId, DocumentHistory transaction)
Moves all the files of the documents in the given tree from it's original location to the storage defined in the owning foldervoid
lock(long docId, int status, DocumentHistory transaction)
Locks the given documentvoid
makeImmutable(long docId, DocumentHistory transaction)
Marks the document, with the given docId, as immutable and save the given document historyDocument
merge(Collection<Document> documents, long targetFolderId, String fileName, DocumentHistory transaction)
Merges a set of documents into a single PDF file 0void
moveToFolder(Document doc, Folder folder, DocumentHistory transaction)
Moves a document to the specified folder.String
parseDocument(Document doc, String fileVersion)
Retrieves the document's content as a stringvoid
promoteVersion(long docId, String version, DocumentHistory transaction)
Promotes an old version to the current default one.long
reindex(long docId, String content)
Re-indexes an existing document in the full-text index.void
rename(long docId, String newName, DocumentHistory transaction)
Rename an existing document filename.Document
replaceAlias(long aliasId, DocumentHistory transaction)
Replaces an alias with a copy of the original filevoid
replaceFile(long docId, String fileVersion, File newFile, DocumentHistory transaction)
Replaces the file of a given versionvoid
replaceFile(long docId, String fileVersion, InputStream newFile, DocumentHistory transaction)
Replaces the file of a given versionvoid
unlock(long docId, DocumentHistory transaction)
UNChecks out the given documentboolean
unprotect(String sid, long docId, String password)
Tries to unprotect a document, If the password is correct, the document stays unprotected for all the duration of the session.void
update(Document doc, Document docVO, DocumentHistory transaction)
Updates an existing document and marks it to be re-indexed
-
-
-
Method Detail
-
checkin
void checkin(long docId, InputStream fileInputStream, String filename, boolean release, AbstractDocument docVO, DocumentHistory transaction) throws Exception
Checks in the given document- Parameters:
docId
- the document to be checked infileInputStream
- input stream pointing to the new document versionfilename
- new filename (can also be the old one)release
- True if this is a new release(eg: 2.0) rather than a subversion(eg: 1.1)docVO
- The value object containing document's metadata applied during the checkin (optional)transaction
- entry to log the event, set the user and comment- Throws:
Exception
- if an error occurs, this exception is thrown
-
checkin
void checkin(long docId, File file, String filename, boolean release, AbstractDocument docVO, DocumentHistory transaction) throws Exception
Checks in the given document- Parameters:
docId
- the document to be checked infile
- of the new document versionfilename
- new filename (can also be the old one)release
- True if this is a new release(eg: 2.0) rather than a subversion(eg: 1.1)docVO
- The value object containing document's metadata applied during the checkin (optional)transaction
- entry to log the event, set the user and comment- Throws:
Exception
- if an error occurs, this exception is thrown
-
checkout
void checkout(long docId, DocumentHistory transaction) throws Exception
Checks out the given document- Parameters:
docId
- the document to be checked outtransaction
- entry to log the event (set the user)- Throws:
Exception
- if an error occurs, this exception is thrown
-
replaceFile
void replaceFile(long docId, String fileVersion, File newFile, DocumentHistory transaction) throws Exception
Replaces the file of a given version- Parameters:
docId
- the document to be updatedfileVersion
- the file versionnewFile
- the file to usetransaction
- entry to log the event (set the user)- Throws:
Exception
- if an error occurs, this exception is thrown
-
replaceFile
void replaceFile(long docId, String fileVersion, InputStream newFile, DocumentHistory transaction) throws Exception
Replaces the file of a given version- Parameters:
docId
- the document to be updatedfileVersion
- the file versionnewFile
- the file to usetransaction
- entry to log the event (set the user)- Throws:
Exception
- if an error occurs, this exception is thrown
-
promoteVersion
void promoteVersion(long docId, String version, DocumentHistory transaction) throws Exception
Promotes an old version to the current default one. If you promote a prior version, what it does is make it the default version again. (regardless of there being many versions).- Parameters:
docId
- the document to be updatedversion
- the versiontransaction
- entry to log the event (set the user)- Throws:
Exception
- if an error occurs, this exception is thrown
-
lock
void lock(long docId, int status, DocumentHistory transaction) throws Exception
Locks the given document- Parameters:
docId
- the document to be lockedstatus
- the lock type (used to populate status attribute of the document)transaction
- entry to log the event (set the user)- Throws:
Exception
- if an error occurs, this exception is thrown
-
unlock
void unlock(long docId, DocumentHistory transaction) throws Exception
UNChecks out the given document- Parameters:
docId
- the document to be unchecked outtransaction
- entry to log the event- Throws:
Exception
- if an error occurs, this exception is thrown
-
create
Document create(File file, Document docVO, DocumentHistory transaction) throws Exception
Creates a new Document. Saves the information provided. That also includes updating the search index for example.- Parameters:
file
- The document's filedocVO
- The value object containing the document's metadatatransaction
- The trandaction metadata (remember to set the user and the comment)- Returns:
- The newly created document
- Throws:
Exception
- raised if the document cannot be created
-
create
Document create(InputStream content, Document docVO, DocumentHistory transaction) throws Exception
Creates a new Document. Saves the information provided. That also includes updating the search index for example.- Parameters:
content
- The document's contentdocVO
- The value object containing the document's metadatatransaction
- The transaction metadata (remember to set the user and the comment)- Returns:
- The newly created document
- Throws:
Exception
- raised if the document cannot be created
-
reindex
long reindex(long docId, String content) throws Exception
Re-indexes an existing document in the full-text index.- Parameters:
docId
- The document to be indexedcontent
- The content to use as document's body (can be null to parse the file)- Returns:
- the number of milliseconds required to parse the document
- Throws:
Exception
- if an error occurs, this exception is thrown
-
rename
void rename(long docId, String newName, DocumentHistory transaction) throws Exception
Rename an existing document filename.- Parameters:
docId
- The document to be renamednewName
- The new filename of the documenttransaction
- entry to log the event (set the user)- Throws:
Exception
- if an error occurs, this exception is thrown
-
update
void update(Document doc, Document docVO, DocumentHistory transaction) throws Exception
Updates an existing document and marks it to be re-indexed- Parameters:
doc
- The document to be updateddocVO
- value object containing the new metadatatransaction
- entry to log the event (set the user)- Throws:
Exception
- if an error occurs, this exception is thrown
-
deleteFromIndex
void deleteFromIndex(Document doc)
Utility method for document removal from index and database update(flag indexed)- Parameters:
doc
- the document to remove from the index
-
changeIndexingStatus
void changeIndexingStatus(Document doc, int status)
Utility method used to declare that:- the document must be taken into consideration by the indexer (status
=
AbstractDocument.INDEX_TO_INDEX
. - the document must be taken into consideration by the indexer for the
metadata only(status =
AbstractDocument.INDEX_TO_INDEX_METADATA
. - the document must not be taken into consideration by the indexer
(status =
AbstractDocument.INDEX_SKIP
). If the document was previously indexed it is removed from the index.
- Parameters:
doc
- The document for which will be changed the indexer status.status
- The new document indexer status.
- the document must be taken into consideration by the indexer (status
=
-
makeImmutable
void makeImmutable(long docId, DocumentHistory transaction) throws Exception
Marks the document, with the given docId, as immutable and save the given document history- Parameters:
docId
- identifier of the documenttransaction
- entry to log the event (set the user)- Throws:
Exception
- raised if the document cannot be marked immutable
-
moveToFolder
void moveToFolder(Document doc, Folder folder, DocumentHistory transaction) throws Exception
Moves a document to the specified folder. All stores(db, file system, index) will be consequently altered.- Parameters:
doc
- The document to movefolder
- The target foldertransaction
- entry to log the event (set the user)- Throws:
Exception
- raised if the document cannot be moved
-
copyToFolder
Document copyToFolder(Document doc, Folder folder, DocumentHistory transaction) throws Exception
Copy a document to the specified folder.- Parameters:
doc
- The document to movefolder
- The target foldertransaction
- entry to log the event (set the user)- Returns:
- The created document
- Throws:
Exception
- raised if the document cannot be copied
-
createAlias
Document createAlias(Document doc, Folder folder, String type, DocumentHistory transaction) throws Exception
Create an alias(shortcut) associated to the given doc to the specified folder.- Parameters:
doc
- The document for which will be created the shortcutfolder
- The target foldertype
- the alias type(null for the original file or pdf for it's pdf conversion)transaction
- entry to log the event (set the user)- Returns:
- The created document
- Throws:
Exception
- raised if the alias cannot be created
-
replaceAlias
Document replaceAlias(long aliasId, DocumentHistory transaction) throws Exception
Replaces an alias with a copy of the original file- Parameters:
aliasId
- ID of the alias to replacetransaction
- entry to log the event (set the user)- Returns:
- The created document
- Throws:
Exception
- raised if the alias cannot be replaced
-
deleteVersion
Version deleteVersion(long versionId, DocumentHistory transaction) throws Exception
Deletes a specific version.- Parameters:
versionId
- The version to deletetransaction
- entry to log the event (set the user)- Returns:
- the latest version
- Throws:
Exception
- If the version cannot be deleted
-
parseDocument
String parseDocument(Document doc, String fileVersion)
Retrieves the document's content as a string- Parameters:
doc
- the document representationfileVersion
- version fo the file- Returns:
- The document's content
-
archiveFolder
long archiveFolder(long folderId, DocumentHistory transaction) throws Exception
Archives all the documents in a folder's tree- Parameters:
folderId
- The root foldertransaction
- entry to log the event (set the user)- Returns:
- Total number of archived documents
- Throws:
Exception
- raised if at least a document cannot be archived
-
archiveDocuments
void archiveDocuments(long[] docIds, DocumentHistory transaction) throws Exception
Archives all the documents in a folder's tree- Parameters:
docIds
- Documents to be archivedtransaction
- entry to log the event (set the user)- Throws:
Exception
- raised if at least a document cannot be archived
-
createDownloadTicket
Ticket createDownloadTicket(long docId, String suffix, Integer expireHours, Date expireDate, Integer maxDownloads, String urlPrefix, DocumentHistory transaction) throws Exception
Creates a new download ticket.- Parameters:
docId
- The document idsuffix
- can be null or 'conversion.pdf'expireHours
- expiration time expressed in hoursexpireDate
- exact expiration date expressed in the format yyyy-MM-ddmaxDownloads
- maximum number of admitted downloadsurlPrefix
- prefiz of the url, by default the general setting 'server.url' will be usedtransaction
- entry to log the event (set the user)- Returns:
- The created ticket with the url property filled
- Throws:
Exception
- raised if the download ticket cannot be created
-
unprotect
boolean unprotect(String sid, long docId, String password)
Tries to unprotect a document, If the password is correct, the document stays unprotected for all the duration of the session.- Parameters:
sid
- Session identifierdocId
- The document idpassword
- The password to try- Returns:
- True if the file gets unprotected
-
enforceFilesIntoFolderStorage
int enforceFilesIntoFolderStorage(long rootFolderId, DocumentHistory transaction) throws Exception
Moves all the files of the documents in the given tree from it's original location to the storage defined in the owning folder- Parameters:
rootFolderId
- identifier of the root of the tree to processtransaction
- informations about the transaction, optional- Returns:
- number of moved files
- Throws:
Exception
- In case of error during the process
-
merge
Document merge(Collection<Document> documents, long targetFolderId, String fileName, DocumentHistory transaction) throws Exception
Merges a set of documents into a single PDF file 0- Parameters:
documents
- the list of documents to merge(the order counts)targetFolderId
- identifier of the target folderfileName
- name of the output file(must ends with .pdf)transaction
- informations about the transaction, optional- Returns:
- the generated merged document
- Throws:
Exception
- generic error happened
-
-