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.util.prefs.Preferences;
20
21 import javax.security.auth.Subject;
22
23 /***
24 * <p>A user made of a {@link Subject} and the user {@link Preferences}.</p>
25 * @author <a href="mailto:dlestrat@apache.org">David Le Strat</a>
26 */
27 public interface User
28 {
29 /***
30 * <p>
31 * The default user attributes property set.
32 * </p>
33 */
34 final static String USER_INFO_PROPERTY_SET = "userinfo";
35
36 /***
37 * the subsite path for a given user stored as a user attribute
38 */
39 final static String USER_INFO_SUBSITE = "subsite";
40
41 /***
42 * <p>Getter for the user {@link Subject} populated with the
43 * application principals.</p>
44 * @return The {@link Subject}.
45 */
46 Subject getSubject();
47
48 /***
49 * <p>Setter for the user {@link Subject} populated with the
50 * application principals.</p>
51 * @param subject The {@link Subject}.
52 */
53 void setSubject(Subject subject);
54
55 /***
56 * <p>Getter for the user {@link Preferences} node, providing access to the
57 * user preferences properties.</p>
58 * @return The {@link Preferences}.
59 */
60 Preferences getPreferences();
61
62 /***
63 * <p>Setter for the user {@link Preferences} node, providing access to the
64 * user preferences properties.</p>
65 *
66 * @param preferences The {@link Preferences}.
67 */
68 void setPreferences(Preferences preferences);
69
70 /***
71 * Get the user attributes for a given user
72 * @return a preference set of user attributes for a given user
73 */
74 Preferences getUserAttributes();
75
76 }