package org.apereo.cas.authentication.adaptive.geo;
import org.apache.commons.lang3.builder.ToStringBuilder;
import java.util.Set;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.stream.Collectors;
/**
* This is {@link GeoLocationResponse} that represents a particular geo location
* usually calculated from an ip address.
*
* @author Misagh Moayyed
* @since 5.0.0
*/
public class GeoLocationResponse {
private Set<String> addresses = new ConcurrentSkipListSet<>();
private double latitude;
private double longitude;
/**
* Add address.
*
* @param address the address
*/
public void addAddress(final String address) {
this.addresses.add(address);
}
/**
* Format the address into a long string.
*
* @return the string
*/
public String build() {
return this.addresses.stream().collect(Collectors.joining(","));
}
@Override
public String toString() {
return new ToStringBuilder(this)
.append("addresses", this.addresses)
.toString();
}
public Set<String> getAddresses() {
return addresses;
}
public double getLatitude() {
return latitude;
}
public void setLatitude(final double latitude) {
this.latitude = latitude;
}
public double getLongitude() {
return longitude;
}
public void setLongitude(final double longitude) {
this.longitude = longitude;
}
}