01: package vqwiki;
02:
03: import javax.servlet.http.HttpServletRequest;
04: import java.util.Collection;
05:
06: /**
07: * Stores a list of usernames and their registered email addresses so
08: * that users may set notifications and reminders per topic page. Users
09: * must set a canonical username and provide a valid email address.
10: * An email will then be sent to the supplied address with a hyperlink
11: * containing a validation key. The key is then checked against the
12: * list of registered names and confirmed, at which point the user
13: * is allowed to set notifications and reminders.
14: *
15: * @author Robert E Brewer
16: * @version 0.1
17: */
18: public interface WikiMembers {
19:
20: /**
21: *
22: */
23: public boolean requestMembership(String username, String email,
24: HttpServletRequest request) throws Exception;
25:
26: /**
27: *
28: */
29: public boolean createMembershipWithoutRequest(String username,
30: String email) throws Exception;
31:
32: /**
33: *
34: */
35: public boolean confirmMembership(String username, String key)
36: throws Exception;
37:
38: /**
39: *
40: */
41: public boolean removeMember(String username) throws Exception;
42:
43: /**
44: *
45: */
46: public WikiMember findMemberByName(String username)
47: throws Exception;
48:
49: /**
50: *
51: */
52: public Collection getAllMembers() throws Exception;
53:
54: /**
55: *
56: */
57: public void addMember(String username, String email, String key)
58: throws Exception;
59: }
|