1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.ajax;
18
19 import org.apache.jetspeed.request.RequestContext;
20 import java.util.Map;
21
22 /***
23 * An Ajax request is made up of an action and builder phases.
24 * Implement this interface for the Ajax action phase.
25 * The action should put any parameters or results it wants
26 * passed on to the builders in the resultMap
27 *
28 * @author <href a="mailto:taylor@apache.org">David Sean Taylor</a>
29 */
30 public interface AjaxAction
31 {
32
33 /***
34 * The action should put any parameters or results it wants
35 * passed on to the builders in the resultMap
36 * This method runs an Ajax action.
37 *
38 * @param requestContext The Jetspeed Request Context
39 * @param resultMap map of action parameters passed to the builder context
40 * @return success is true, failure is false
41 * @throws Exception
42 */
43 public boolean run(RequestContext requestContext, Map resultMap) throws AJAXException;
44
45 /***
46 * Same as run method, but runs in batch mode, as a hint to the action
47 * that it is running a multiple action and can delay its update
48 * runBatch currently supports pageManager.updatePage
49 *
50 * @param requestContext The Jetspeed Request Context
51 * @param resultMap map of action parameters passed to the builder context
52 * @return success is true, failure is false
53 * @throws Exception
54 */
55 public boolean runBatch(RequestContext requestContext, Map resultMap) throws AJAXException;
56
57 /***
58 * Checks to see if the current subject has access to to execute this action.
59 *
60 * @param context
61 * @return true if access granted, false if denied.
62 */
63 public boolean checkAccess(RequestContext context, String action);
64
65 }