1 /* 2 * Copyright (c) 1998-2004 The Jgroup Team. 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU Lesser General Public License version 2 as 6 * published by the Free Software Foundation. 7 * 8 * This program is distributed in the hope that it will be useful, 9 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * GNU Lesser General Public License for more details. 12 * 13 * You should have received a copy of the GNU Lesser General Public License 14 * along with this program; if not, write to the Free Software 15 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 16 * 17 */ 18 package jgroup.jini.txn; 19 20 import java.rmi.RemoteException; 21 22 import jgroup.core.InternalGMIListener; 23 24 /** 25 * @author Heine Kolltveit 26 * @since Jgroup 2.2 27 */ 28 public interface InternalPassiveTransactionParticipant 29 extends InternalGMIListener, java.io.Serializable 30 { 31 /** 32 * Transfers the state of the txn 33 * to other members of the group. 34 * 35 * @param txnMgr 36 * The <code>TxnManagerTransaction</code> object 37 * @param id 38 * Transaction id of current transaction 39 * @throws RemoteException 40 */ 41 public void txnPrepared(long txnId, Object stateObj) 42 throws RemoteException; 43 44 public void txnCompleted(long txnId, int outcome) 45 throws RemoteException; 46 47 /** 48 * Transfer withdraw state to other members in the group. 49 */ 50 public void txnWithdraw(long account, int amount, long transactionID) 51 throws RemoteException; 52 53 /** Transfer deposit state to other members int he group */ 54 public void txnDeposit(long account, int amount, long transactionID) 55 throws RemoteException; 56 }