001: /*
002: * Copyright 2005 Sun Microsystems, Inc. All rights reserved.
003: *
004: * Redistribution and use in source and binary forms, with or without
005: * modification, are permitted provided that the following conditions
006: * are met:
007: *
008: * - Redistributions of source code must retain the above copyright
009: * notice, this list of conditions and the following disclaimer.getc
010: *
011: * - Redistribution in binary form must reproduce the above copyright
012: * notice, this list of conditions and the following disclaimer in
013: * the documentation and/or other materials provided with the
014: * distribution.
015: *
016: * Neither the name of Sun Microsystems, Inc. or the names of
017: * contributors may be used to endorse or promote products derived
018: * from this software without specific prior written permission.
019: *
020: * This software is provided "AS IS," without a warranty of any
021: * kind. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND
022: * WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY,
023: * FITNESS FOR A PARTICULAR PURPOSE OR NON-INFRINGEMENT, ARE HEREBY
024: * EXCLUDED. SUN AND ITS LICENSORS SHALL NOT BE LIABLE FOR ANY DAMAGES
025: * SUFFERED BY LICENSEE AS A RESULT OF USING, MODIFYING OR
026: * DISTRIBUTING THE SOFTWARE OR ITS DERIVATIVES. IN NO EVENT WILL SUN
027: * OR ITS LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT OR DATA, OR
028: * FOR DIRECT, INDIRECT, SPECIAL, CONSEQUENTIAL, INCIDENTAL OR
029: * PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF
030: * LIABILITY, ARISING OUT OF THE USE OF OR INABILITY TO USE SOFTWARE,
031: * EVEN IF SUN HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
032: *
033: * You acknowledge that Software is not designed, licensed or intended
034: * any nuclear facility.
035: */
036:
037: package com.sun.portal.community;
038:
039: import java.util.Set;
040: import java.util.Map;
041:
042: /**
043: * A community.
044: */
045: public interface Community {
046: /**
047: * Get the community ID of this community.
048: */
049: public CommunityId getCommunityId();
050:
051: /**
052: * DONT USE THIS METHOD. THIS WILL BE REMOVED SOON.
053: * Add a user to this community.
054: */
055: public void addUser(String userId, RoleId rid)
056: throws CommunityServiceException, CommunityException;
057:
058: /**
059: * Remove a user from this community.
060: */
061: public void removeUser(String userId, RoleId rid)
062: throws CommunityServiceException, CommunityException;
063:
064: /**
065: * Get the users in this community.
066: */
067: public Set getUsers() throws CommunityException;
068:
069: /**
070: * Get users with the given roles in this community.
071: */
072: public Set getUsers(Set roleIds) throws CommunityException;
073:
074: /**
075: * Adds a member to the community. This method assigns the user RoleId.MEMBER role.
076: */
077: public void addMember(String userId)
078: throws CommunityServiceException, CommunityException;
079:
080: /**
081: * Adds a owner. This method assigns the user RoleId.OWNER role.
082: */
083: public void addOwner(String userId)
084: throws CommunityServiceException, CommunityException;
085:
086: /**
087: * Invite User to the community
088: */
089: public void inviteUser(String userId, String message)
090: throws CommunityServiceException, CommunityException;
091:
092: /**
093: * Accepts invitation on a user's behalf. This method assigns the user RoleId.MEMBER role.
094: */
095: public void acceptInvitation(String userId)
096: throws CommunityServiceException, CommunityException;
097:
098: /**
099: * Accepts invitation on a user's behalf. This method will remove the RoleId.INVITED role.
100: */
101: public void denyInvitation(String userId)
102: throws CommunityServiceException, CommunityException;
103:
104: /**
105: * Register the membership request for a user. This method assigns the user RoleId.PENDING role.
106: */
107: public void requestMembership(String userId)
108: throws CommunityServiceException, CommunityException;
109:
110: /**
111: * Reject the membership request. This method assigns the user RoleId.REJECTED role.
112: */
113: public void rejectMembershipRequest(String userId)
114: throws CommunityServiceException, CommunityException;
115:
116: /**
117: * Approve the membership request for the user. This method assigns the user RoleId.MEMBER role.
118: */
119: public void approveMembershipRequest(String userId)
120: throws CommunityServiceException, CommunityException;
121:
122: /**
123: * Ban a user from the community. This method assigns the user RoleId.BANNED role.
124: */
125: public void banUser(String userId)
126: throws CommunityServiceException, CommunityException;
127:
128: /**
129: * Unban a user from the community. This method removes the RoleId.BANNED role for the user.
130: */
131: public void unbanUser(String userId)
132: throws CommunityServiceException, CommunityException;
133:
134: /**
135: * Get the description for the community
136: */
137: public String getDescription() throws CommunityException;
138:
139: /**
140: *Set the description for the community
141: */
142: public void setDescription(String description)
143: throws CommunityException;
144:
145: /**
146: *Get the classification for the community
147: */
148: public String getCategory() throws CommunityException;
149:
150: /**
151: * Set the classification for the community
152: */
153:
154: public void setCategory(String category) throws CommunityException;
155:
156: /**
157: * Get the display profile for the given dpname
158: */
159: public byte[] getDP(DPName rid) throws CommunityException;
160:
161: /**
162: * Return true if the community membership is restricted.
163: */
164: public boolean isMembershipRestricted() throws CommunityException;
165:
166: /**
167: * Set whether community membership is restricted.
168: */
169: public void setMembershipRestricted(boolean isMembershipRestricted)
170: throws CommunityException;
171:
172: /**
173: * Returns true if the community content is secured based.
174: */
175: public boolean isSecure() throws CommunityException;
176:
177: /**
178: * Set whether the community content needs to be secured.
179: */
180: public void setSecure(boolean isSecure) throws CommunityException;
181:
182: /**
183: * Returns whether community is listed or not
184: */
185: public boolean isListed() throws CommunityException;
186:
187: /**
188: * Set whether community needs to be listed
189: */
190: public void setListed(boolean isListed) throws CommunityException;
191:
192: /**
193: * Is the community disabled?
194: */
195: public boolean isDisabled() throws CommunityException;
196:
197: /**
198: * Set the disabled status of the community.
199: */
200: public void setDisabled(boolean disabled)
201: throws CommunityServiceException, CommunityException;
202:
203: /**
204: * Is the community deleted?
205: */
206: public boolean isDeleted() throws CommunityException;
207:
208: /**
209: * Set the deleted status of the community
210: */
211: public void setDeleted(boolean deleted)
212: throws CommunityServiceException, CommunityException;
213: }
|