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.operations;
007
008
009import org.fcrepo.kernel.api.Transaction;
010import org.fcrepo.kernel.api.identifiers.FedoraId;
011
012/**
013 * Factory for delete resource operations
014 *
015 * @author bbpennel
016 */
017public interface DeleteResourceOperationFactory extends ResourceOperationFactory {
018
019    /**
020     * Get a builder for an operation to delete a resource
021     *
022     * @param transaction the transaction
023     * @param rescId id of the resource to delete
024     * @return new builder
025     */
026    ResourceOperationBuilder deleteBuilder(Transaction transaction, FedoraId rescId);
027
028    /**
029     * Get a builder for an operation to purge a deleted resource.
030     *
031     * @param transaction the transaction
032     * @param rescId id of the resource to purge
033     * @return new builder
034     */
035    ResourceOperationBuilder purgeBuilder(Transaction transaction, FedoraId rescId);
036}