public class TrashServiceImpl extends DefaultComponent implements TrashService
Constructor and Description |
---|
TrashServiceImpl() |
Modifier and Type | Method and Description |
---|---|
boolean |
canDelete(List<DocumentModel> docs,
Principal principal,
boolean checkProxies)
Is at least one doc deletable?
|
boolean |
canPurgeOrUndelete(List<DocumentModel> docs,
Principal principal)
Are all documents purgeable/undeletable?
|
boolean |
canUndelete(List<DocumentModel> docs) |
boolean |
checkDeletePermOnParents(List<DocumentModel> docs)
Is at least one doc deletable according to its container?
|
boolean |
folderAllowsDelete(DocumentModel folder)
Can a child of the folder be deleted?
|
DocumentModel |
getAboveDocument(DocumentModel doc,
Set<Path> rootPaths)
Gets the closest document's ancestor above all the paths.
|
TrashInfo |
getTrashInfo(List<DocumentModel> docs,
Principal principal,
boolean checkProxies,
boolean checkDeleted)
Gets the trash info for a list of documents.
|
void |
purgeDocuments(CoreSession session,
List<DocumentRef> docRefs)
Purges (completely deletes) documents .
|
void |
trashDocuments(List<DocumentModel> docs)
Moves documents to the trash, or directly deletes them if their lifecycle
does not allow trash use.
|
Set<DocumentRef> |
undeleteDocuments(List<DocumentModel> docs)
Undeletes documents (and ancestors if needed to make them visible).
|
activate, applicationStarted, deactivate, getAdapter, getApplicationStartedOrder, getLastModified, registerContribution, registerExtension, setLastModified, unregisterContribution, unregisterExtension
public boolean folderAllowsDelete(DocumentModel folder) throws ClientException
TrashService
folderAllowsDelete
in interface TrashService
folder
- the foldertrue
if the folder allows its children to be deletedClientException
public boolean checkDeletePermOnParents(List<DocumentModel> docs) throws ClientException
TrashService
checkDeletePermOnParents
in interface TrashService
docs
- the documentstrue
if one doc is in a folder that allows its children
to be deletedClientException
public boolean canDelete(List<DocumentModel> docs, Principal principal, boolean checkProxies) throws ClientException
TrashService
canDelete
in interface TrashService
docs
- the documentsprincipal
- the current user (to check locks)checkProxies
- true
to count proxies as non-deletabletrue
if at least one doc is deletableClientException
public boolean canPurgeOrUndelete(List<DocumentModel> docs, Principal principal) throws ClientException
TrashService
Documents need to be in the deleted lifecycle state for this to be true, in addition to the standard permission checks.
canPurgeOrUndelete
in interface TrashService
docs
- the documentsprincipal
- the current user (to check locks)true
if the documents are purgeable/undeletableClientException
public boolean canUndelete(List<DocumentModel> docs) throws ClientException
ClientException
public TrashInfo getTrashInfo(List<DocumentModel> docs, Principal principal, boolean checkProxies, boolean checkDeleted) throws ClientException
TrashService
getTrashInfo
in interface TrashService
docs
- the documentsprincipal
- the current user (to check locks)checkProxies
- true
to count proxies as non-deletablecheckDeleted
- true
if documents have to be in the deleted
state to be considered (otherwise forbidden)ClientException
public DocumentModel getAboveDocument(DocumentModel doc, Set<Path> rootPaths) throws ClientException
TrashService
This is used to find what safe document to redirect to when deleting some.
getAboveDocument
in interface TrashService
doc
- the documentrootPaths
- the pathsClientException
public void trashDocuments(List<DocumentModel> docs) throws ClientException
TrashService
trashDocuments
in interface TrashService
docs
- the documents to trashClientException
public void purgeDocuments(CoreSession session, List<DocumentRef> docRefs) throws ClientException
TrashService
purgeDocuments
in interface TrashService
session
- the sessiondocRefs
- the documents to purgeClientException
public Set<DocumentRef> undeleteDocuments(List<DocumentModel> docs) throws ClientException
TrashService
Also fires async events to undelete the children.
undeleteDocuments
in interface TrashService
docs
- the documents to undeleteClientException
Copyright © 2013 Nuxeo SA. All Rights Reserved.