01: /*
02: jGuard is a security framework based on top of jaas (java authentication and authorization security).
03: it is written for web applications, to resolve simply, access control problems.
04: version $Name$
05: http://sourceforge.net/projects/jguard/
06:
07: Copyright (C) 2004 Charles GAY
08:
09: This library is free software; you can redistribute it and/or
10: modify it under the terms of the GNU Lesser General Public
11: License as published by the Free Software Foundation; either
12: version 2.1 of the License, or (at your option) any later version.
13:
14: This library is distributed in the hope that it will be useful,
15: but WITHOUT ANY WARRANTY; without even the implied warranty of
16: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17: Lesser General Public License for more details.
18:
19: You should have received a copy of the GNU Lesser General Public
20: License along with this library; if not, write to the Free Software
21: Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22:
23:
24: jGuard project home page:
25: http://sourceforge.net/projects/jguard/
26:
27: */
28: package net.sf.jguard.core.principals;
29:
30: import java.util.ArrayList;
31: import java.util.Collection;
32:
33: /**
34: * This Principal represents the notion of a group.
35: * this class is incomplete. it must NOT be used in production.
36: * @author <a href="mailto:diabolo512@users.sourceforge.net">Charles Gay</a>
37: */
38: public class GroupPrincipal implements BasePrincipal {
39: private String name;
40: private Collection children;
41: private static final long serialVersionUID = -6416037506376087735L;
42:
43: public GroupPrincipal(String name) {
44: this .name = name;
45: this .children = new ArrayList();
46: }
47:
48: public String getName() {
49: return this .name;
50: }
51:
52: public int compareTo(Object group) {
53: GroupPrincipal groupPrincipal = (GroupPrincipal) group;
54: return this .name.compareTo(groupPrincipal.getName());
55: }
56:
57: /**
58: * return the GroupPrincipals collection owned by this GroupPrincipal.
59: * @return
60: */
61: public Collection getChildren() {
62: return children;
63: }
64:
65: }
|