package com.drtshock.playervaults.vaultmanagement; import java.io.IOException; import java.util.HashMap; import java.util.UUID; import org.bukkit.inventory.Inventory; @SuppressWarnings("serial") public class CachedVaults extends HashMap { public void setCachedVault(UUID playerUUID, int id, Inventory inventory){ CachedVaultsMap vaultCacheMap = this.containsKey(playerUUID) ? this.get(playerUUID) : new CachedVaultsMap(); vaultCacheMap.setCachedVault(id, inventory); this.put(playerUUID, vaultCacheMap); } public Inventory getCachedVault(UUID playerUUID, int id){ return this.containsKey(playerUUID) ? this.get(playerUUID).getCachedVault(id) : null; } public boolean hasVaultCached(UUID playerUUID, int id){ return this.containsKey(playerUUID) && this.get(playerUUID).getCachedVault(id) != null; } public void clearVaultCache(UUID playerUUID){ if(this.containsKey(playerUUID)){ this.get(playerUUID).clear(); } } public void deleteVaultCache(UUID playerUUID){ this.remove(playerUUID); } public void flushVaultCacheToFile(UUID playerUUID){ if(this.containsKey(playerUUID)){ for(java.util.Map.Entry data : this.get(playerUUID).entrySet()){ try { UUIDVaultManager.getInstance().saveVault(data.getValue(), playerUUID, data.getKey()); } catch (IOException e) { e.printStackTrace(); } } this.deleteVaultCache(playerUUID); } } }