package org.netmelody.cieye.server.configuration.avatar;
import java.util.Map;
import com.google.common.collect.ImmutableList;
import static com.google.common.collect.Maps.uniqueIndex;
public final class PictureUrlRegistry {
private final Map<String, PictureUrlProvider> providers = uniqueIndex(ImmutableList.of(new Gravatar(),
new Robohash(),
new SimpleHttp(),
new LocalImage()),
PictureUrlProvider.TO_PREFIX);
private String urlFor(String prefix, String suffix) {
return providers.get(prefix).imageUrlFor(suffix);
}
public String getPictureUrl(final String image) {
final String[] parts = image.split(":", 2);
return (parts.length == 1) ? urlFor("", image) : urlFor(parts[0], parts[1]);
}
}