package org.iatoki.judgels.raguel.avatar;
import org.iatoki.judgels.jophiel.avatar.AbstractBaseAvatarCacheServiceImpl;
import org.iatoki.judgels.jophiel.avatar.BaseAvatarCacheDao;
public final class AvatarCacheServiceImpl extends AbstractBaseAvatarCacheServiceImpl<AvatarCacheModel> {
private static AvatarCacheServiceImpl INSTANCE;
private AvatarCacheServiceImpl(BaseAvatarCacheDao<AvatarCacheModel> avatarCacheDao) {
super(avatarCacheDao);
}
public static synchronized void buildInstance(BaseAvatarCacheDao<AvatarCacheModel> avatarCacheDao) {
if (INSTANCE != null) {
throw new UnsupportedOperationException("AvatarCacheService instance has already been built");
}
INSTANCE = new AvatarCacheServiceImpl(avatarCacheDao);
}
public static AvatarCacheServiceImpl getInstance() {
if (INSTANCE == null) {
throw new UnsupportedOperationException("AvatarCacheService instance has not been built");
}
return INSTANCE;
}
}