1 /* 2 Copyright (C) 2001-2003 Lionel Seinturier <Lionel.Seinturier@lip6.fr> 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 as 6 published by the Free Software Foundation; either version 2 of the 7 License, or (at your option) any later version. 8 9 This program is distributed in the hope that it will be useful, 10 but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 GNU Lesser General Public License for more details. 13 14 You should have received a copy of the GNU Lesser General Public License 15 along with this program; if not, write to the Free Software 16 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ 17 18 package org.objectweb.jac.samples.distransbank; 19 20 import org.objectweb.jac.aspects.distrans.EndTransactionWrapper; 21 import org.objectweb.jac.core.AspectComponent; 22 import org.objectweb.jac.core.NameRepository; 23 import org.objectweb.jac.util.Repository; 24 25 /** 26 * @author Lionel Seinturier <Lionel.Seinturier@lip6.fr> 27 * @version 1.0 28 */ 29 public class SampleEndTransactionWrapper extends EndTransactionWrapper { 30 31 /** 32 * @param ac the AC managing this wrapper 33 */ 34 public SampleEndTransactionWrapper( AspectComponent ac ) { 35 super(ac); 36 } 37 38 /** 39 * Method to decide whether the transaction is to be commited 40 * or rollbacked. 41 * 42 * @return true if commit, false if rollback 43 */ 44 public boolean decide() { 45 46 Repository names = NameRepository.get(); 47 Account account0 = (Account) names.getObject("account0"); 48 double balance = account0.getBalance(); 49 50 return (balance>=0.0); 51 } 52 } 53