package org.pac4j.oauth.profile.github;
import java.net.URI;
import java.util.Date;
import org.pac4j.oauth.profile.OAuth20Profile;
/**
* <p>This class is the user profile for GitHub with appropriate getters.</p>
* <p>It is returned by the {@link org.pac4j.oauth.client.GitHubClient}.</p>
*
* @author Jerome Leleu
* @since 1.1.0
*/
public class GitHubProfile extends OAuth20Profile {
private static final long serialVersionUID = -8030906034414268058L;
@Override
public String getDisplayName() {
return (String) getAttribute(GitHubProfileDefinition.NAME);
}
@Override
public String getUsername() {
return (String) getAttribute(GitHubProfileDefinition.LOGIN);
}
@Override
public URI getPictureUrl() {
return (URI) getAttribute(GitHubProfileDefinition.AVATAR_URL);
}
@Override
public URI getProfileUrl() {
return (URI) getAttribute(GitHubProfileDefinition.HTML_URL);
}
public String getCompany() {
return (String) getAttribute(GitHubProfileDefinition.COMPANY);
}
public Integer getFollowing() {
return (Integer) getAttribute(GitHubProfileDefinition.FOLLOWING);
}
public String getBlog() {
return (String) getAttribute(GitHubProfileDefinition.BLOG);
}
public Integer getPublicRepos() {
return (Integer) getAttribute(GitHubProfileDefinition.PUBLIC_REPOS);
}
public Integer getPublicGists() {
return (Integer) getAttribute(GitHubProfileDefinition.PUBLIC_GISTS);
}
public Integer getDiskUsage() {
return (Integer) getAttribute(GitHubProfileDefinition.DISK_USAGE);
}
public Integer getCollaborators() {
return (Integer) getAttribute(GitHubProfileDefinition.COLLABORATORS);
}
public GitHubPlan getPlan() {
return (GitHubPlan) getAttribute(GitHubProfileDefinition.PLAN);
}
public Integer getOwnedPrivateRepos() {
return (Integer) getAttribute(GitHubProfileDefinition.OWNED_PRIVATE_REPOS);
}
public Integer getTotalPrivateRepos() {
return (Integer) getAttribute(GitHubProfileDefinition.TOTAL_PRIVATE_REPOS);
}
public Integer getPrivateGists() {
return (Integer) getAttribute(GitHubProfileDefinition.PRIVATE_GISTS);
}
public Integer getFollowers() {
return (Integer) getAttribute(GitHubProfileDefinition.FOLLOWERS);
}
public Date getCreatedAt() {
return (Date) getAttribute(GitHubProfileDefinition.CREATED_AT);
}
public Date getUpdatedAt() {
return (Date) getAttribute(GitHubProfileDefinition.UPDATED_AT);
}
public String getType() {
return (String) getAttribute(GitHubProfileDefinition.TYPE);
}
public String getGravatarId() {
return (String) getAttribute(GitHubProfileDefinition.GRAVATAR_ID);
}
public String getUrl() {
return (String) getAttribute(GitHubProfileDefinition.URL);
}
public Boolean getHireable() {
return (Boolean) getAttribute(GitHubProfileDefinition.HIREABLE);
}
public String getBio() {
return (String) getAttribute(GitHubProfileDefinition.BIO);
}
}