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.actionflow.config; 8 9 10 /** 11 * This interface describes a link between two Nodes in any 12 * ActionFlow. This Link is generic and implementors can 13 * define the properties of the link however they see fit. 14 * 15 * @author Brian Pontarelli 16 * @since 2.0 17 * @version 2.0 18 */ 19 public interface Link { 20 21 /** 22 * Gets the origin Node of this link 23 * 24 * @return Returns the origin Node of this link 25 */ 26 Node getOrigin(); 27 28 /** 29 * Gets the destination Node of this link 30 * 31 * @return Returns the destination Node of this link 32 */ 33 Node getDestination(); 34 35 /** 36 * Returns the value of the link. This will normally be an action name, but 37 * may be the regex or something else. 38 * 39 * @return The value of the link 40 */ 41 String getValue(); 42 43 /** 44 * Determines whether this Link accepts the given action. This allows the 45 * system to be flexible enough to use many different types of links. All 46 * Links are based on actions and this method allows a single Link to be 47 * responsible for many actions. 48 * 49 * @param action The action to check for acceptance 50 * @return True if this Link accepts the given action, false otherwise 51 */ 52 boolean acceptAction(Object action); 53 } 54