001package org.nuxeo.ecm.platform.rendition.version;
002
003import java.util.Collections;
004import java.util.List;
005
006import org.nuxeo.ecm.core.api.CoreSession;
007import org.nuxeo.ecm.core.event.impl.ShallowDocumentModel;
008import org.nuxeo.ecm.core.versioning.OrphanVersionRemovalFilter;
009import org.nuxeo.ecm.platform.rendition.Constants;
010
011public class RenditionAwareVersionRemovalPolicy implements OrphanVersionRemovalFilter {
012
013    @Override
014    public List<String> getRemovableVersionIds(CoreSession session, ShallowDocumentModel deletedLiveDoc,
015            List<String> versionUUIDs) {
016
017        if (deletedLiveDoc.hasFacet(Constants.RENDITION_FACET)) {
018            // don't remove orphan rendition versions
019            return Collections.emptyList();
020        }
021        return versionUUIDs;
022    }
023}