/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package Sirius.server.newuser; import Sirius.util.*; /** * DOCUMENT ME! * * @version $Revision$, $Date$ */ public class User implements java.io.Serializable, Mapable { //~ Instance fields -------------------------------------------------------- // /** die BenutzerID **/ protected int id; // identifier im ls /** der LoginName des Benutzers.* */ protected String name; // loginname /** der Heimat-LocalServer des Benutzers.* */ protected String domain; // heimatserver /** Die Benutzergruppe, der der Benutzer zugeordnet ist. Sie wird explizit gesetzt * */ protected UserGroup userGroup; /** Variable, die anzeigt, ob eine Benutzergruppe gesetzt wurde.* */ protected boolean valid = false; protected boolean isAdmin = false; //~ Constructors ----------------------------------------------------------- /** * Creates a new User object. * * @param id Heimat-LocalServer des Benutzers * @param name Benutzername * @param domain BenutzerID * */ public User(final int id, final String name, final String domain) { this.domain = domain; this.id = id; this.name = name; } /** * Creates a new User object. * * @param id DOCUMENT ME! * @param name DOCUMENT ME! * @param domain DOCUMENT ME! * @param isAdmin DOCUMENT ME! */ public User(final int id, final String name, final String domain, final boolean isAdmin) { this(id, name, domain); this.isAdmin = isAdmin; } /** * legt Benutzer an und weist ihm direkt eine Benutzergruppe zu. * * @param id BenutzerID * @param name der Benutzername * @param domain localServerName Heimat-LocalServer des Benutzers * @param userGroup die Benutzergruppe, der der Benutzer zugeordnet werden soll* */ public User(final int id, final String name, final String domain, final UserGroup userGroup) { this(id, name, domain); this.userGroup = userGroup; } //~ Methods ---------------------------------------------------------------- @Override public String toString() { return getKey().toString(); } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public String getDomain() { return domain; } /** * DOCUMENT ME! * * @return Login-Name des Benutzers * */ public String getName() { return name; } /** * weist dem User eine UserGroup zu und setzt valid = true. Mit isValid() kann abgefragt werden, ob schon eine * UserGroup gesetzt wurde * * * @param userGroup DOCUMENT ME! */ public void setUserGroup(final UserGroup userGroup) { this.userGroup = userGroup; valid = true; } /** * liefert UserGroup.* * * @return DOCUMENT ME! */ public UserGroup getUserGroup() { return userGroup; } /** * DOCUMENT ME! */ public void setValid() { valid = true; } /** * hiermit kann abgefragt werden, ob dem User schon eine Usergroup zugewiesen wurde.* * * @return DOCUMENT ME! */ public boolean isValid() { return valid; } /** * hiermit kann abgefragt werden, ob es sich um einen Admin handelt. * * @return DOCUMENT ME! */ public boolean isAdmin() { return isAdmin; } @Override public boolean equals(final java.lang.Object obj) { final User user = (User)obj; return (this.name.equals(user.name) && this.domain.equals(user.domain)); } @Override public Object getKey() { if (userGroup != null) { return name + "@" + userGroup.getKey(); // NOI18N } else { return name + ""; } } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public Object getRegistryKey() { return name + "@" + domain; // NOI18N } @Override public Object constructKey(final Mapable m) { if (m instanceof User) { return m.getKey(); } else { return null; } } /** * Getter for property id. * * @return Value of property id. */ public int getId() { return id; } }