package microservices.sample.user;
import microservices.sample.Entity;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author mamad
* @since 15/03/15.
*/
public class User implements Entity {
private final String id;
private final String name;
//using list for simplicity, to keep the order
private final List<String> connectionIds = new ArrayList<>();
public User(String name, String id) {
this.name = name;
this.id = id;
}
public String getId() {
return id;
}
public String getName() {
return name;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof User)) {
return false;
}
User user = (User) o;
return Objects.equals(this.name, user.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
public User addConnection(String secondUserId) {
if (secondUserId != null && !connectionIds.contains(secondUserId)) {
connectionIds.add(secondUserId);
}
return this;
}
public List<String> getConnectionIds() {
return connectionIds;
}
}