View Javadoc

1   /*
2    *  PCUServeur for the PCU project.
3    *  Copyright (C) 2010  PLU Julien
4    *
5    *  This program is free software: you can redistribute it and/or modify
6    *  it under the terms of the GNU General Public License as published by
7    *  the Free Software Foundation, either version 3 of the License, or
8    *  (at your option) any later version.
9    *  
10   *  This program is distributed in the hope that it will be useful,
11   *  but WITHOUT ANY WARRANTY; without even the implied warranty of
12   *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13   *  GNU General Public License for more details.
14   *
15   *  You should have received a copy of the GNU General Public License
16   *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
17   *  
18   *  For questions: julien.plu@redaction-developpez.com
19   */
20  package pcuserveur.lib;
21  
22  /**
23   * @author PLU Julien
24   * @version 1.0 
25   * 
26   * <b>
27   *     Représente un utilisateur. Un utilisateur est identifié par
28   *     son login. Il peut être simple utilisateur ou administrateur.
29   * </b>
30   * <p>
31   *     Un Utilisateur est caractérisé par les informations suivantes:
32   *     <ul>
33   *         <li>Un boolean désignant si l'utilisateur est un administrateur.</li>
34   *         <li>Un String représentant le login de l'utilisateur.</li>
35   *     </ul>
36   * </p>
37   * 
38   * @see GestionnaireConnexion
39   * @see Vide
40   */
41  public class Utilisateur implements Vide {
42  	/**
43  	 * <p>
44  	 * Désigne si l'utilisateur est un administrateur ou non.
45  	 * </p>
46  	 * 
47  	 * @see Utilisateur#Utilisateur (String, boolean)
48  	 * @see Utilisateur#estAdministrateur ()
49  	 * @see Utilisateur#estVide ()
50  	 * @see Utilisateur#setAdministrateur (boolean)
51  	 * @see Utilisateur#vider ()
52  	 */
53  	boolean administrateur;
54  	/**
55  	 * <p>
56  	 * Login de l'utilisateur.
57  	 * </p>
58  	 * 
59  	 * @see Utilisateur#Utilisateur (String, boolean)
60  	 * @see Utilisateur#estVide ()
61  	 * @see Utilisateur#getLogin ()
62  	 * @see Utilisateur#setLogin (String)
63  	 * @see Utilisateur#vider ()
64  	 */
65  	private String login;
66  
67  	/**
68  	 * <p>
69  	 * Constructeur par défaut.
70  	 * </p>
71  	 */
72  	public Utilisateur () {
73  		// Constructeur par defaut.
74  	}
75  
76  	/**
77  	 * <p>
78  	 * Constructeur paramétré
79  	 * </p>
80  	 * 
81  	 * @param login1
82  	 *            Le login.
83  	 * @param administrateur1
84  	 *            Un boolean, <code>true</code> si l'utilisateur est
85  	 *            administrateur <code>false</code> sinon.
86  	 */
87  	public Utilisateur (final String login1, final boolean administrateur1) {
88  		this.login = login1;
89  		this.administrateur = administrateur1;
90  	}
91  
92  	/**
93  	 * <p>
94  	 * Savoir si l'utilisateur est administrateur. Si l'utilisateur est vide, le
95  	 * résultat est indéterminé.
96  	 * </p>
97  	 * 
98  	 * @return <code>true</code> si l'utilisateur est administrateur,
99  	 *         <code>false</code> sinon
100 	 */
101 	public boolean estAdministrateur () {
102 		return this.administrateur;
103 	}
104 
105 	/**
106 	 * <p>
107 	 * Savoir si l'utilisateur est vide.
108 	 * </p>
109 	 * 
110 	 * @return <code>true</code> si l'utilisateur est vide, <code>false</code>
111 	 *         sinon.
112 	 * @see Vide
113 	 */
114 	public boolean estVide () {
115 		return this.login == null;
116 	}
117 
118 	/**
119 	 * <p>
120 	 * Obtenir le login, si il existe.
121 	 * </p>
122 	 * 
123 	 * @return Le login, ou <code>null</code> si l'utilisateur est vide.
124 	 */
125 	public String getLogin () {
126 		return this.login;
127 	}
128 
129 	/**
130 	 * <p>
131 	 * Définir si l'utilisateur est, ou pas, un administrateur.
132 	 * </p>
133 	 * 
134 	 * @param administrateur1
135 	 *            Un booléen de valeur <code>true</code> si l'utilisateur est
136 	 *            administrateur <code>false</code> sinon.
137 	 */
138 	public void setAdministrateur (final boolean administrateur1) {
139 		this.administrateur = administrateur1;
140 	}
141 
142 	/**
143 	 * <p>
144 	 * Définir le login.
145 	 * </p>
146 	 * 
147 	 * @param login1
148 	 *            Le login.
149 	 */
150 	public void setLogin (final String login1) {
151 		this.login = login1;
152 	}
153 
154 	/**
155 	 * <p>
156 	 * Vider l'utilisateur. A utiliser avec beaucoup de précaution.
157 	 * </p>
158 	 */
159 	public void vider () {
160 		this.login = null;
161 		this.administrateur = false;
162 	}
163 }