1 /* 2 * Copyright (c) 2003, Inversoft 3 * 4 * This software is distribuable under the GNU Lesser General Public License. 5 * For more information visit gnu.org. 6 */ 7 package com.inversoft.verge.mvc.controller; 8 9 10 /** 11 * <p> 12 * This class is used by developers to setup information about 13 * long transactions for the ActionFlow system. This is called 14 * once a Node is encountered that requires long transactions. 15 * </p> 16 * 17 * @author Brian Pontarelli 18 */ 19 public interface LongTxnSetup { 20 21 /** 22 * Returns the start URL for the long transaction support. This URL should 23 * contain HTML to tell the user that their is a long transaction occuring. 24 * This should also not finish the HTML but should stop just prior to the 25 * ending body tag (</body>). 26 * 27 * @param action The action that is to be executed 28 * @return The beginning URL for the long transaction support 29 */ 30 String getLongTxnStartURL(Action action); 31 32 /** 33 * Returns the ending URL for the long transaction support. This URL is optional 34 * but if specified should use the Result object that is stored in the request 35 * to generate a meta-refresh tag. This will cause a new request to be executed 36 * into the server and the ActionFlow system can then finish executing. 37 * 38 * @param action The action that was last executed 39 * @return The ending URL for the long transaction support 40 */ 41 String getLongTxnEndURL(Action action); 42 43 /** 44 * Returns the URL category for the long transaction support. This URL category 45 * is optional but if specified is used along with the Result in order to 46 * generate proper URLs. 47 * 48 * @param action The action that was last executed 49 * @return The URL category for the long transaction support 50 */ 51 String getLongTxnURLCategory(Action action); 52 }