package com.constellio.model.entities.structures;
import java.util.ArrayList;
import java.util.List;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import com.constellio.model.entities.records.wrappers.User;
import com.constellio.model.entities.schemas.ModifiableStructure;
public class EmailAddress implements ModifiableStructure {
String name;
String email;
boolean dirty;
public EmailAddress() {
}
public EmailAddress(String name, String email) {
this.name = name;
this.email = email;
}
public String getName() {
return name;
}
public void setName(String name) {
dirty = true;
this.name = name;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
dirty = true;
this.email = email;
}
@Override
public boolean isDirty() {
return dirty;
}
@Override
public String toString() {
return "EmailAddress{" +
"name='" + name + '\'' +
", email='" + email + '\'' +
", dirty=" + dirty +
'}';
}
@Override
public int hashCode() {
return HashCodeBuilder.reflectionHashCode(this, "dirty");
}
@Override
public boolean equals(Object obj) {
return EqualsBuilder.reflectionEquals(this, obj, "dirty");
}
public static List<EmailAddress> forUsers(List<User> users) {
List<EmailAddress> addresses = new ArrayList<>();
if (users != null) {
for (User user : users) {
addresses.add(new EmailAddress(user.getTitle(), user.getEmail()));
}
}
return addresses;
}
}