1 package org.enhydra.shark.api; 2 3 /** 4 * Application mapping information may be stored in separate repository 5 * so it may need a different type of transaction. To represent this, 6 * ApplicationMappingTransaction is another interface different from SharkTransaction 7 * and other transaction interfaces. 8 * 9 * @author Zoran Milakovic 10 */ 11 public interface ApplicationMappingTransaction { 12 13 /** 14 * Commits mapping transaction. 15 * 16 * @exception TransactionException If something unexpected happens. 17 */ 18 public void commit () throws TransactionException; 19 20 /** 21 * Rollbacks mapping transaction. This method is called when commit 22 * method fails. 23 * 24 * @exception TransactionException If something unexpected happens. 25 */ 26 public void rollback () throws TransactionException; 27 28 /** 29 * Releases mapping transaction. Method <b>MUST</b> be called for each 30 * transaction. 31 * 32 * @exception TransactionException If something unexpected happens. 33 */ 34 public void release() throws TransactionException; 35 } 36