/*************************************************** * * cismet GmbH, Saarbruecken, Germany * * ... and it just works. * ****************************************************/ package Sirius.server.newuser; import Sirius.util.Mapable; import java.io.Serializable; /** * DOCUMENT ME! * * @version $Revision$, $Date$ */ public class UserGroup implements Serializable, Mapable { //~ Instance fields -------------------------------------------------------- protected int id; protected String domain; protected String name; protected String description; protected boolean isAdmin; //~ Constructors ----------------------------------------------------------- /** * Creates a new UserGroup object. * * @param id DOCUMENT ME! * @param name DOCUMENT ME! * @param domain DOCUMENT ME! */ public UserGroup(final int id, final String name, final String domain) { this.id = id; this.domain = domain.trim(); this.name = name.trim(); this.description = ""; // NOI18N this.isAdmin = false; } /** * Creates a new UserGroup object. * * @param id DOCUMENT ME! * @param name DOCUMENT ME! * @param domain DOCUMENT ME! * @param description DOCUMENT ME! */ public UserGroup(final int id, final String name, final String domain, final String description) { this(id, name, domain); this.description = description; } //~ Methods ---------------------------------------------------------------- @Override public String toString() { return getKey().toString(); } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public final String getName() { return name; } @Override public boolean equals(final Object ug) { final UserGroup userGroup = (UserGroup)ug; return getKey().equals(userGroup.getKey()); } // Mapable @Override public Object getKey() { return name + "@" + domain; // NOI18N } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public final boolean isAdmin() { return isAdmin; } /** * DOCUMENT ME! * * @return DOCUMENT ME! */ public String getDomain() { return domain; } /** * Setter for property isAdmin. * * @param isAdmin New value of property isAdmin. */ public void setIsAdmin(final boolean isAdmin) { this.isAdmin = isAdmin; } @Override public Object constructKey(final Mapable m) { if (m instanceof UserGroup) { return m.getKey(); } else { return null; } } /** * Getter for property id. * * @return Value of property id. */ public int getId() { return id; } /** * DOCUMENT ME! * * @param classKey DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ public static Object[] parseKey(final String classKey) throws Exception { final Object[] result = new Object[2]; if (classKey.contains("@")) { // NOI18N final String[] split = classKey.split("@"); // NOI18N result[0] = split[0]; result[1] = split[1]; } else // nehme ich an dass die domain fehlt { result[0] = classKey; result[1] = "LOCAL"; // NOI18N } return result; } }