01: package org.tanukisoftware.wrapper;
02:
03: /*
04: * Copyright (c) 1999, 2006 Tanuki Software Inc.
05: *
06: * Permission is hereby granted, free of charge, to any person
07: * obtaining a copy of the Java Service Wrapper and associated
08: * documentation files (the "Software"), to deal in the Software
09: * without restriction, including without limitation the rights
10: * to use, copy, modify, merge, publish, distribute, sub-license,
11: * and/or sell copies of the Software, and to permit persons to
12: * whom the Software is furnished to do so, subject to the
13: * following conditions:
14: *
15: * The above copyright notice and this permission notice shall be
16: * included in all copies or substantial portions of the Software.
17: *
18: * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
19: * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
20: * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
21: * NON-INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
22: * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
23: * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
24: * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25: * OTHER DEALINGS IN THE SOFTWARE.
26: */
27:
28: import java.util.Vector;
29:
30: /**
31: * A WrapperUser contains information about a user account on the platform
32: * running the Wrapper. A WrapperUser is obtained by calling
33: * WrapperManager.getUser() or WrapperManager.getInteractiveUser().
34: *
35: * @author Leif Mortenson <leif@tanukisoftware.com>
36: */
37: public abstract class WrapperUser {
38: /* The name of the user. */
39: private String m_user;
40:
41: /** A list of the groups that this user is registered with.
42: * This uses a Vector to be compatable with 1.2.x JVMs. */
43: private Vector m_groups = new Vector();
44:
45: /*---------------------------------------------------------------
46: * Constructors
47: *-------------------------------------------------------------*/
48: WrapperUser(byte[] user) {
49: // Decode the parameters using the default system encoding.
50: m_user = new String(user);
51: }
52:
53: /*---------------------------------------------------------------
54: * Methods
55: *-------------------------------------------------------------*/
56: /**
57: * Returns the name of the user.
58: *
59: * @return The name of the user.
60: */
61: public String getUser() {
62: return m_user;
63: }
64:
65: /**
66: * Adds a group to the user.
67: *
68: * @param group WrapperGroup to be added.
69: */
70: void addGroup(WrapperGroup group) {
71: m_groups.addElement(group);
72: }
73:
74: /**
75: * Returns an array of WrapperGroup instances which define the groups that
76: * the user belongs to.
77: *
78: * @return An array of WrapperGroups.
79: */
80: public WrapperGroup[] getGroups() {
81: WrapperGroup[] groups = new WrapperGroup[m_groups.size()];
82: m_groups.toArray(groups);
83:
84: return groups;
85: }
86: }
|