1 package org.astrogrid.portal.utils.acting;
2
3 import java.util.Stack;
4
5 /***
6 * @author peter.shillan <mailto:gps@roe.ac.uk />
7 */
8 public class ActionUtilsFactory {
9 private static Stack MOCK_STACK = new Stack();
10
11 public static ActionUtils getActionUtils() {
12 if(MOCK_STACK.size() == 0) {
13 return new ActionUtilsDefault();
14 }
15
16 return (ActionUtils) MOCK_STACK.pop();
17 }
18
19 /***
20 * Facilitates unit testing.
21 * <b>DO NOT USE</b> outside of a test case.
22 */
23 public static void addMock(ActionUtils mockUtils) {
24 MOCK_STACK.add(mockUtils);
25 }
26 }