/*
 * #%L
 * T3 :: Web
 * 
 * $Id: TopiaTransactionAware.java 404 2011-06-24 09:37:05Z chemit $
 * $HeadURL: https://svn.mpl.ird.fr/osiris/t3/trunk/t3-entities/src/main/java/fr/ird/t3/TopiaTransactionAware.java $
 * %%
 * Copyright (C) 2010 - 2011 IRD, Codelutin, Tony Chemit
 * %%
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as
 * published by the Free Software Foundation, either version 3 of the 
 * License, or (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU General Public 
 * License along with this program.  If not, see
 * <http://www.gnu.org/licenses/gpl-3.0.html>.
 * #L%
 */
package fr.ird.t3;

import org.nuiton.topia.TopiaContext;

/**
 * Use this contract on a object which use a {@code TopiaContext} as a
 * transaction.
 * <p/>
 * The method {@link #getTransaction()} returns the internal transaction used.
 *
 * @author tchemit <chemit@codelutin.com>
 * @since 1.0
 */
public interface TopiaTransactionAware {

    /**
     * Obtains the internal transaction.
     * <p/>
     * If no transaction was opened, can return the {@code null} object.
     *
     * @return the current transaction (can be null or closed...).
     */
    TopiaContext getTransaction();
}
