Package org.nuxeo.ecm.core.api.trash
Interface TrashService
- All Known Implementing Classes:
AbstractTrashService
,PropertyTrashService
public interface TrashService
Service containing the logic about deleting/purging/undeleting a document.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
Event for a document about to be trashed by the user.static final String
Event for a document about to be untrashed by the user.static final String
Key forDocumentModel.getContextData(String)
which skips the renaming during trash/untrash mechanism when the value isBoolean.TRUE
.static final String
Event for a document trashed by the user.static final String
Event for a document untrashed by the user. -
Method Summary
Modifier and TypeMethodDescriptionboolean
canPurgeOrUntrash
(List<DocumentModel> docs, NuxeoPrincipal principal) Are all documents purgeable/undeletable?default boolean
canPurgeOrUntrash
(DocumentModel doc, NuxeoPrincipal principal) Is document purgeable/untrashable?getAboveDocument
(DocumentModel doc, NuxeoPrincipal principal) Gets the first non trashed ancestor.getDocuments
(DocumentModel parent) Deprecated.since 11.1, not scalableboolean
isMangledName
(String docName) boolean
isTrashed
(CoreSession session, DocumentRef doc) mangleName
(DocumentModel doc) Mangles the name of a document to avoid collisions with non-trashed documents when it's in the trash.void
purgeDocuments
(CoreSession session, List<DocumentRef> docRefs) Purges (completely deletes) documents.void
purgeDocumentsUnder
(DocumentModel parent) Purges (completely deletes) trashed documents under the given parent.default void
Moves document to the trash.void
trashDocuments
(List<DocumentModel> docs) Moves documents to the trash.unmangleName
(CoreSession session, DocumentRef parentRef, String docName) Unmangles the name of a document in the trash to find its un-trashed name.Unmangles the name of a document in the trash to find its un-trashed name.default void
Unmoves document from the trash.void
untrashDocuments
(List<DocumentModel> docs) Unmoves documents from the trash.
-
Field Details
-
ABOUT_TO_TRASH
Event for a document about to be trashed by the user.- Since:
- 2023.0
- See Also:
-
DOCUMENT_TRASHED
Event for a document trashed by the user. Triggers an async listener that trashes its children too.- Since:
- 10.1
- See Also:
-
ABOUT_TO_UNTRASH
Event for a document about to be untrashed by the user.- Since:
- 2023.0
- See Also:
-
DOCUMENT_UNTRASHED
Event for a document untrashed by the user. Triggers an async listener that untrashes its children too.- Since:
- 10.1
- See Also:
-
DISABLE_TRASH_RENAMING
Key forDocumentModel.getContextData(String)
which skips the renaming during trash/untrash mechanism when the value isBoolean.TRUE
.- Since:
- 10.1
- See Also:
-
-
Method Details
-
isTrashed
- Returns:
- whether or not the input
DocumentRef
is trashed. - Since:
- 10.1
-
canPurgeOrUntrash
Are all documents purgeable/undeletable?Documents need to be in the trash for this to be true, in addition to the standard permission checks.
- Parameters:
docs
- the documentsprincipal
- the current user (to check locks)- Returns:
true
if the documents are purgeable/undeletable
-
canPurgeOrUntrash
Is document purgeable/untrashable?Documents need to be in the trash for this to be true, in addition to the standard permission checks.
- Parameters:
doc
- the documentprincipal
- the current user (to check locks)- Returns:
true
if the documents are purgeable/untrashable
-
getAboveDocument
Gets the first non trashed ancestor.This is used to find what safe document to redirect to when deleting one.
- Parameters:
doc
- the trashed documentprincipal
- the current user- Returns:
- the first non trashed ancestor
-
trashDocuments
Moves documents to the trash.Do nothing if the document current state is trashed.
Proxies are removed.
Since 10.3, sublevels are trashed asynchronously using BAF.
- Parameters:
docs
- the documents to trash
-
trashDocument
Moves document to the trash.Do nothing if the document current state is trashed.
Proxies are removed.
Since 10.3, sublevels are trashed asynchronously using BAF.
- Parameters:
doc
- the document to trash- Since:
- 10.1
-
purgeDocuments
Purges (completely deletes) documents.- Parameters:
session
- the sessiondocRefs
- the documents to purge
-
purgeDocumentsUnder
Purges (completely deletes) trashed documents under the given parent.- Parameters:
parent
- The parent document of trashed documents.- Since:
- 10.1
-
untrashDocuments
Unmoves documents from the trash.Also fires async events to untrash the children.
- Parameters:
docs
- the documents to untrash
-
untrashDocument
Unmoves document from the trash.Also fires async events to untrash the children.
- Parameters:
doc
- the document to untrash- Since:
- 10.1
-
getDocuments
Deprecated.since 11.1, not scalableGet all documents from the trash of the current document.- Parameters:
parent
- The parent document of trash document.- Returns:
- All documents in the trash of the current document.
- Since:
- 7.1
-
isMangledName
- Parameters:
docName
- the document's name- Returns:
- true if the document's name is mangled, false otherwise
- Since:
- 11.1
-
mangleName
Mangles the name of a document to avoid collisions with non-trashed documents when it's in the trash.- Parameters:
doc
- the document- Since:
- 7.3
-
unmangleName
Unmangles the name of a document in the trash to find its un-trashed name.- Parameters:
session
- the session used for collisions checkparentRef
- the parent document refdocName
- the document name- Returns:
- the unmangled name
- Since:
- 11.1
-
unmangleName
Unmangles the name of a document in the trash to find its un-trashed name.- Parameters:
doc
- the trashed document- Returns:
- the unmangled name
- Since:
- 7.3
-