Get a link for gravatar url, provide email
package io.systemobject.utils;
import io.systemobject.utils.cryptography.Hash;
import io.systemobject.utils.cryptography.Hash.HashType;
// Gravatar.getAvatar("example@gmail.com", 100, GravatarType.MM)
public final class Gravatar {
/**
* Default avatar size
*/
private static final int defaultGravatarSize = 100;
/**
* Place Holder for gravatar URL - needs for {@link String#format()}
*/
private static final String gravatarUrlPlaceholder = "http://www.gravatar.com/avatar/%s?s=%d&d=%s";
/**
*
* @param email of user
* @param size of avatar
* @param gravatarType choice default avatar type
* @return link on user avatar as Strnig
*/
public static final String getAvatar(String email, int size, GravatarType gravatarType){
String gravatarID = Hash.toHash(email.toLowerCase(), HashType.MD5);
return String.format(gravatarUrlPlaceholder, gravatarID, size, gravatarType);
}
/**
*
* @param email of user
* @return link on user avatar as Strnig
*/
public static final String getAvatar(String email){
return getAvatar(email, defaultGravatarSize, GravatarType.MM);
}
/**
*
* @param email of user
* @param size of avatar
* @return link on user avatar as Strnig
*/
public static final String getAvatar(String email, int size){
return getAvatar(email, size, GravatarType.MM);
}
/**
*
* @param email of user
* @param gravatarType choice default avatar type
* @return link on user avatar as Strnig
*/
public static final String getAvatar(String email, GravatarType gravatarType){
return getAvatar(email, defaultGravatarSize, gravatarType);
}
public enum GravatarType {
MM("mm"), IDENTICON("identicon"), MONSTERID("monsterid"), WAVATAR("wavatar"), RETRO("retro"), BLANK("blank");
private String type;
GravatarType(String type) {
this.type = type;
}
@Override
public String toString() {
return this.type;
}
}
}