01: /*
02: * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
03: *
04: * Redistribution and use in source and binary forms, with or without
05: * modification, are permitted provided that the following conditions
06: * are met:
07: *
08: * - Redistributions of source code must retain the above copyright
09: * notice, this list of conditions and the following disclaimer.getc
10: *
11: * - Redistribution in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in
13: * the documentation and/or other materials provided with the
14: * distribution.
15: *
16: * Neither the name of Sun Microsystems, Inc. or the names of
17: * contributors may be used to endorse or promote products derived
18: * from this software without specific prior written permission.
19: *
20: * This software is provided "AS IS," without a warranty of any
21: * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
22: * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
23: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
24: * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
25: * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
26: * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
27: * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
28: * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
29: * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
30: * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
31: * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
32: *
33: * You acknowledge that Software is not designed, licensed or intended
34: * any nuclear facility.
35: */
36:
37: package com.sun.portal.community;
38:
39: import java.util.Set;
40: import java.util.Map;
41: import java.util.Locale;
42:
43: /**
44: * A community user.
45: */
46: public interface CommunityUser {
47: /**
48: * Get the user ID of this community user.
49: */
50: public String getUserId();
51:
52: /**
53: * Get the community membership for this community user.
54: * Consider only the membership with effective roles.
55: */
56: public Map getMembership() throws CommunityException;
57:
58: /**
59: * Get the community membership for this community user.
60: *
61: * @param allRoles consider all roles (effective or not)
62: */
63: public Map getMembership(boolean allRoles)
64: throws CommunityException;
65:
66: /**
67: * Test if this community user has the given role ID in the given
68: * community ID. Consider effective roles only.
69: */
70: public boolean hasRole(CommunityId cid, RoleId rid)
71: throws CommunityException;
72:
73: /**
74: * Test if this community user has the given role ID in the given
75: * community ID.
76: *
77: * @param allRoles consider all roles (effective or not)
78: */
79: public boolean hasRole(CommunityId cid, RoleId rid, boolean allRoles)
80: throws CommunityException;
81:
82: public String getFullName() throws CommunityException;
83:
84: public String getEmailAddr() throws CommunityException;
85:
86: public Locale getPreferredLocale() throws CommunityException;
87: }
|