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