/**
* Copyright 2011 Intuit Inc. All Rights Reserved
*/
package com.intuit.tank.vm.settings;
/*
* #%L
* Intuit Tank Api
* %%
* Copyright (C) 2011 - 2015 Intuit Inc.
* %%
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* #L%
*/
import java.io.Serializable;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
/**
* DefaultUser
*
* @author dangleton
*
*/
public class DefaultUser implements Serializable {
private static final long serialVersionUID = 1L;
private String name;
private String password;
private String email;
private boolean admin;
private Set<String> groups = new HashSet<String>();
@SuppressWarnings("unchecked")
public DefaultUser(HierarchicalConfiguration config) {
this.name = config.getString("name");
this.email = config.getString("email");
this.password = config.getString("password");
this.admin = config.getBoolean("admin", false);
for (HierarchicalConfiguration c : (List<HierarchicalConfiguration>) config.configurationsAt("group")) {
groups.add(c.getString(""));
}
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @return the email
*/
public String getEmail() {
return email;
}
/**
* @return the admin
*/
public boolean isAdmin() {
return admin;
}
/**
* @return the groups
*/
public Set<String> getGroups() {
return groups;
}
/**
* @{inheritDoc
*/
@Override
public String toString() {
return name;
}
/**
* @{inheritDoc
*/
@Override
public boolean equals(Object obj) {
if (!(obj instanceof DefaultUser)) {
return false;
}
DefaultUser o = (DefaultUser) obj;
return new EqualsBuilder().append(o.getName(), getName()).isEquals();
}
/**
* @{inheritDoc
*/
@Override
public int hashCode() {
return new HashCodeBuilder(29, 45).append(getName()).toHashCode();
}
}