001/*
002 * The contents of this file are subject to the license and copyright
003 * detailed in the LICENSE and NOTICE files at the root of the source
004 * tree.
005 */
006package org.fcrepo.kernel.api.services;
007
008import org.fcrepo.kernel.api.Transaction;
009import org.fcrepo.kernel.api.models.FedoraResource;
010
011/**
012 * Service to permanently remove a resource from the repository.
013 *
014 * @author whikloj
015 */
016public interface PurgeResourceService {
017    /**
018     * Purges the specified resource
019     *
020     * @param tx the transaction associated with the operation.
021     * @param fedoraResource The Fedora resource to purge.
022     * @param userPrincipal the principal of the user performing the operation.
023     */
024    void perform(final Transaction tx, final FedoraResource fedoraResource, final String userPrincipal);
025}