package org.pac4j.oauth.profile.foursquare;
import org.pac4j.core.util.CommonHelper;
import org.pac4j.oauth.profile.OAuth20Profile;
import java.net.URI;
/**
* <p>This class is the user profile for Foursquare with appropriate getters.</p>
* <p>It is returned by the {@link org.pac4j.oauth.client.FoursquareClient}.</p>
*
* @author Alexey Ogarkov
* @since 1.5.0
*/
public class FoursquareProfile extends OAuth20Profile {
private static final long serialVersionUID = 8919122885219420820L;
public String getBio() {
return (String) getAttribute(FoursquareProfileDefinition.BIO);
}
public FoursquareUserContact getContact() {
return (FoursquareUserContact) getAttribute(FoursquareProfileDefinition.CONTACT);
}
public FoursquareUserFriends getFriends() {
return (FoursquareUserFriends) getAttribute(FoursquareProfileDefinition.FIRENDS);
}
public FoursquareUserPhoto getPhoto() {
return (FoursquareUserPhoto) getAttribute(FoursquareProfileDefinition.PHOTO);
}
@Override
public String getFirstName() {
return (String) getAttribute(FoursquareProfileDefinition.FIRST_NAME);
}
@Override
public String getLocation() {
return (String) getAttribute(FoursquareProfileDefinition.HOME_CITY);
}
@Override
public String getFamilyName() {
return (String) getAttribute(FoursquareProfileDefinition.LAST_NAME);
}
@Override
public URI getProfileUrl() {
return CommonHelper.asURI("https://foursquare.com/user/" + getId());
}
@Override
public URI getPictureUrl() {
return CommonHelper.asURI(this.getPhoto().getPhotoUrl());
}
@Override
public String getEmail() {
return this.getContact().getEmail();
}
}