KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > tanukisoftware > wrapper > WrapperWin32User


1 package org.tanukisoftware.wrapper;
2
3 /*
4  * Copyright (c) 1999, 2006 Tanuki Software Inc.
5  *
6  * Permission is hereby granted, free of charge, to any person
7  * obtaining a copy of the Java Service Wrapper and associated
8  * documentation files (the "Software"), to deal in the Software
9  * 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.Date JavaDoc;
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 class WrapperWin32User
38     extends WrapperUser
39 {
40     /** The current SID of the User Account. */
41     private String JavaDoc m_sid;
42     
43     /** The domain of the User Account. */
44     private String JavaDoc m_domain;
45     
46     /** Time that the user logged in. */
47     private long m_loginTime;
48     
49     /*---------------------------------------------------------------
50      * Constructors
51      *-------------------------------------------------------------*/

52     WrapperWin32User( byte[] sid, byte[] user, byte[] domain, int loginTime)
53     {
54         super( user );
55         
56         // Decode the parameters using the default system encoding.
57
m_sid = new String JavaDoc( sid );
58         m_domain = new String JavaDoc( domain );
59         
60         // Convert the login time to milliseconds.
61
m_loginTime = loginTime * 1000L;
62     }
63     
64     /*---------------------------------------------------------------
65      * Methods
66      *-------------------------------------------------------------*/

67     /**
68      * Returns the current Security Identifier (SID) of the user account.
69      *
70      * @return The SID of the user account.
71      */

72     public String JavaDoc getSID()
73     {
74         return m_sid;
75     }
76     
77     /**
78      * Returns the domain name of the user account.
79      *
80      * @return The domain name of the user account.
81      */

82     public String JavaDoc getDomain()
83     {
84         return m_domain;
85     }
86     
87     /**
88      * Returns the full name of the user account.
89      *
90      * @return The full name of the user account.
91      */

92     public String JavaDoc getAccount()
93     {
94         return m_domain + "/" + getUser();
95     }
96     
97     /**
98      * Returns the login time of the user account.
99      *
100      * @return The login time of the user account.
101      */

102     public long getLoginTime()
103     {
104         return m_loginTime;
105     }
106     
107     void addGroup( byte[] sid, byte[] user, byte[] domain )
108     {
109         addGroup( new WrapperWin32Group( sid, user, domain ) );
110     }
111     
112     /**
113      * Returns a string representation of the user.
114      *
115      * @return A string representation of the user.
116      */

117     public String JavaDoc toString()
118     {
119         StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
120         sb.append( "WrapperWin32User[" );
121         sb.append( getAccount() );
122         sb.append( ", " );
123         sb.append( new Date JavaDoc( m_loginTime ).toString() );
124         
125         sb.append( ", groups {" );
126         WrapperGroup[] groups = getGroups();
127         for ( int i = 0; i < groups.length; i++ )
128         {
129             if ( i > 0 )
130             {
131                 sb.append( ", " );
132             }
133             sb.append( groups[i].toString() );
134         }
135         sb.append( "}" );
136         
137         sb.append( "]" );
138         return sb.toString();
139     }
140 }
141
142
Popular Tags