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;
007
008/**
009 * The Fedora Transaction Manager abstraction
010 *
011 * @author mohideen
012 */
013public interface TransactionManager {
014
015    /**
016     * Create a new fedora transaction
017     *
018     * @return {@link Transaction} The new fedora transaction
019     */
020    Transaction create();
021
022    /**
023     * Get an existing fedora transaction
024     *
025     * @param transactionId the id of the transaction to be returned
026     * @return {@link Transaction} the fedora transaction associated with the provided id
027     */
028    Transaction get(String transactionId);
029}