package org.ovirt.engine.core.aaa;
import java.util.Objects;
public class DirectoryUser extends DirectoryEntry {
private static final long serialVersionUID = -5689096270467866486L;
// The attributes of the user, as extracted from the underlying directory:
private String firstName;
private String lastName;
private String title;
private String email;
private String department;
private String principal;
// Flag indicating if this user has the administrator role:
private boolean isAdmin;
public DirectoryUser() {
super();
isAdmin = false;
}
public DirectoryUser(String directoryName, String namespace, String id, String name, String principal,
String displayName) {
super(directoryName, namespace, id, name, displayName);
isAdmin = false;
this.principal = principal;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public boolean isAdmin() {
return isAdmin;
}
public void setAdmin(boolean isAdmin) {
this.isAdmin = isAdmin;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getDepartment() {
return department;
}
public void setDepartment(String department) {
this.department = department;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getPrincipal() {
return principal;
}
public void setPrincipal(String principal) {
this.principal = principal;
}
@Override
public int hashCode() {
return Objects.hash(
super.hashCode(),
firstName,
lastName,
title,
email,
department
);
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof DirectoryUser)) {
return false;
}
DirectoryUser other = (DirectoryUser) obj;
return super.equals(obj)
&& Objects.equals(firstName, other.firstName)
&& Objects.equals(lastName, other.lastName)
&& Objects.equals(title, other.title)
&& Objects.equals(email, other.email)
&& Objects.equals(department, other.department);
}
}