1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.jetspeed.security;
18
19 import java.security.Permission;
20
21 /***
22 * <p>Folder permission.</p>
23 * <p>This code was partially inspired from articles from:</p>
24 * <ul>
25 * <li><a href="http://www-106.ibm.com/developerworks/library/j-jaas/">
26 * Extend JAAS for class instance-level authorization.</a></li>
27 * </ul>
28 *
29 * @author <a href="mailto:taylor@apache.org">David Sean Taylor</a>
30 */
31 public class PagePermission extends PortalResourcePermission
32 {
33 /***
34 * <p>Constructor for PagePermission.</p>
35 *
36 * @param name The portlet name.
37 * @param actions The actions on the portlet.
38 */
39 public PagePermission(String name, String actions)
40 {
41 super(name, actions);
42 }
43
44 /***
45 * <p>Constructor for PagePermission.</p>
46 *
47 * @param name The portlet name.
48 * @param mask The mask for actions on the portlet.
49 */
50 public PagePermission(String name, int mask)
51 {
52 super(name, mask);
53 }
54
55 public boolean implies(Permission permission)
56 {
57
58
59 if (!(permission instanceof PagePermission))
60 {
61 return false;
62 }
63
64
65 if (!(permission.getName().equals(getName())))
66 {
67 return false;
68 }
69
70 PagePermission pagePerm = (PagePermission) permission;
71
72
73
74 return (mask & pagePerm.mask) == pagePerm.mask;
75
76 }
77
78 /***
79 * @see java.security.Permission#equals(Object)
80 */
81 public boolean equals(Object object)
82 {
83 if (!(object instanceof PagePermission))
84 return false;
85
86 PagePermission p = (PagePermission) object;
87 return ((p.mask == mask) && (p.getName().equals(getName())));
88 }
89
90 }