1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.cache;
18
19 import org.apache.jetspeed.request.RequestContext;
20
21 /***
22 * <p>
23 * Provides interface to Jetspeed for content cache key generation
24 * </p>
25 *
26 * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
27 * @version $Id: $
28 */
29 public interface ContentCacheKeyGenerator
30 {
31 /***
32 * Normalized and pluggable cache key generator
33 *
34 * @param context
35 * @param windowId The window id of the portlet to be cached.
36 * @since 2.1.2
37 * @return
38 */
39 ContentCacheKey createCacheKey(RequestContext context, String windowId);
40
41 /***
42 * Create a cache key without request context information, but by providing required parameters username and windowid
43 *
44 * @param username
45 * @param pipeline "desktop" or "portal"
46 * @param windowId
47 * @return
48 */
49 ContentCacheKey createUserCacheKey(String username, String pipeline, String windowId);
50
51 /***
52 * Create a cache key without request context information, but by providing required parameters sessinid and windowid
53 *
54 * @param sessionid
55 * @param pipeline "desktop" or "portal"
56 * @param windowId
57 * @return
58 */
59 ContentCacheKey createSessionCacheKey(String sessionid, String pipeline, String windowId);
60
61 /***
62 * return true if caching is by session id, not username
63 *
64 * @return
65 */
66 boolean isCacheBySessionId();
67
68 /***
69 * return true if caching is by username, not sessionid
70 *
71 * @return
72 */
73 boolean isCacheByUsername();
74 }