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.
|
DocumentModelList |
getDocuments(DocumentModel currentDoc)
Get all documents from the trash of the current document.
|
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
public DocumentModelList getDocuments(DocumentModel currentDoc)
getDocuments
in interface TrashService
currentDoc
- The current/parent document of trash document.Copyright © 2015 Nuxeo SA. All rights reserved.