1 /** 2 * Speedo: an implementation of JDO compliant personality on top of JORM generic 3 * I/O sub-system. 4 * Copyright (C) 2001-2004 France Telecom R&D 5 * 6 * This library is free software; you can redistribute it and/or 7 * modify it under the terms of the GNU Lesser General Public 8 * License as published by the Free Software Foundation; either 9 * version 2 of the License, or (at your option) any later version. 10 * 11 * This library is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * Lesser General Public License for more details. 15 * 16 * You should have received a copy of the GNU Lesser General Public 17 * License along with this library; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 * 20 * 21 * 22 * Contact: speedo@objectweb.org 23 * 24 * Authors: S.Chassande-Barrioz. 25 * 26 */ 27 package org.objectweb.speedo.workingset.api; 28 29 import org.objectweb.perseus.persistence.api.PersistenceException; 30 import org.objectweb.perseus.persistence.api.TransactionalWorkingSet; 31 import org.objectweb.perseus.persistence.api.ConnectionHolder; 32 33 import javax.jdo.JDOFatalException; 34 35 /** 36 * This interfaces defines the transaction concept in Speedo. It is based on a 37 * working set represented by the inheritance of the TransactionalWorkingSet 38 * interface, and the required javax.jdo.Transaction interface. 39 * 40 * @author S.Chassande-Barrioz 41 */ 42 public interface Transaction 43 extends javax.jdo.Transaction, TransactionalWorkingSet { 44 45 /** 46 * It activates the working set. This is used to delimit the begining of 47 * the working set. 48 */ 49 void active() throws PersistenceException; 50 51 /** 52 * Indicates if the transaction environnement is managed. If the 'false' 53 * value is returned then that means that a user transaction matches to 54 * a local transaction managed by speedo. 55 */ 56 boolean isManagedEnv(); 57 58 JDOFatalException rollBackOnInternalError(Exception e); 59 60 /** 61 * Assignes the connection holder. The connection holder is able to allocate 62 * a connection to the underlying data support and to kept it until the 63 * working set / transaction end. 64 */ 65 void setConnectionHolder(ConnectionHolder ch); 66 } 67