package org.moparscape.msc.gs.persistence;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.moparscape.msc.gs.external.*;
import org.moparscape.msc.gs.model.InvItem;
import org.moparscape.msc.gs.model.Point;
import org.moparscape.msc.gs.model.Shop;
import org.moparscape.msc.gs.model.TelePoint;
import org.moparscape.msc.gs.npchandler.NpcHandlerDef;
import org.moparscape.msc.gs.phandler.PacketHandlerDef;
/**
* Any retrieval of unchanging data should be done through this interface. All
* implementations should be only accessable by the
* org.moparscape.msc.gs.persistence.impl package.
* Implementations should also use JCIP annotations to specify their degree of
* thread saftey.
*
* @author Joe Pritzel
*
*/
public abstract interface DataStore {
public PacketHandlerDef[] loadPacketHandlerDefs() throws Exception;
public void savePacketHandlerDefs(PacketHandlerDef[] defs) throws Exception;
public PacketHandlerDef[] loadLSPacketHandlerDefs() throws Exception;
public void saveLSPacketHandlerDefs(PacketHandlerDef[] defs)
throws Exception;
public NpcHandlerDef[] loadNpcHandlers() throws Exception;
public void saveNpcHandlers(NpcHandlerDef[] defs) throws Exception;
public Map loadTelePoints() throws Exception;
public void saveTelePoints(Map points) throws Exception;
public List loadShops() throws Exception;
public void saveShops(List shops) throws Exception;
public Map loadCerterDefs() throws Exception;
public void saveCerterDefs(Map certers)
throws Exception;
public List loadGameObjectLocs() throws Exception;
public void saveGameObjectLocs(List locs) throws Exception;
public List loadItemLocs() throws Exception;
public void saveItemLocs(List locs) throws Exception;
public List loadNPCLocs() throws Exception;
public void saveNPCLocs(List locs) throws Exception;
public TileDef[] loadTileDefs() throws Exception;
public void saveTileDefs(TileDef[] defs) throws Exception;
public GameObjectDef[] loadGameObjectDefs() throws Exception;
public void saveGameObjectDefs(GameObjectDef[] defs) throws Exception;
public DoorDef[] loadDoorDefs() throws Exception;
public void saveDoorDefs(DoorDef[] defs) throws Exception;
public ItemDef[] loadItemDefs() throws Exception;
public void saveItemDefs(ItemDef[] defs) throws Exception;
public PrayerDef[] loadPrayerDefs() throws Exception;
public void savePrayerDefs(PrayerDef[] defs) throws Exception;
public SpellDef[] loadSpellDefs() throws Exception;
public void saveSpellDefs(SpellDef[] defs) throws Exception;
public NPCDef[] loadNPCDefs() throws Exception;
public void saveNPCDefs(NPCDef[] defs) throws Exception;
public ItemCraftingDef[] loadItemCraftingDefs() throws Exception;
public void saveItemCraftingDefs(ItemCraftingDef[] defs) throws Exception;
public ItemHerbSecond[] loadItemHerbSeconds() throws Exception;
public void saveItemHerbSeconds(ItemHerbSecond[] seconds) throws Exception;
public Map loadItemDartTipDefs() throws Exception;
public void saveItemDartTipDefs(Map defs)
throws Exception;
public Map loadGemDefs() throws Exception;
public void saveGemDefs(Map defs) throws Exception;
public Map loadItemLogCutDefs() throws Exception;
public void saveItemLogCutDefs(Map defs)
throws Exception;
public Map loadItemBowStringDefs()
throws Exception;
public void saveItemBowStringDefs(Map defs)
throws Exception;
public Map loadItemArrowHeadDefs()
throws Exception;
public void saveItemArrowHeadDefs(Map defs)
throws Exception;
public Map loadFiremakingDefs() throws Exception;
public void saveFiremakingDefs(Map defs)
throws Exception;
public Map loadItemAffectedTypes() throws Exception;
public void saveItemAffectedTypes(Map types) throws Exception;
public Map loadItemWieldableDefs()
throws Exception;
public void saveItemWieldableDefs(Map defs) throws Exception;
public Map loadItemUnIdentHerbDefs()
throws Exception;
public void saveItemUnIdentHerbDefs(Map defs) throws Exception;
public Map loadItemHerbDefs() throws Exception;
public void saveItemHerbDefs(Map defs) throws Exception;
public Map loadItemEdibleHeals() throws Exception;
public void saveItemEdibleHeals(Map defs) throws Exception;
public Map loadItemCookingDefs() throws Exception;
public void saveItemCookingDefs(Map defs) throws Exception;
public Map loadItemSmeltingDefs()
throws Exception;
public void saveItemSmeltingDefs(Map defs) throws Exception;
public ItemSmithingDef[] loadItemSmithingDefs() throws Exception;
public void saveItemSmithingDefs(ItemSmithingDef[] defs) throws Exception;
public Map loadObjectMiningDefs()
throws Exception;
public void saveObjectMiningDefs(Map defs) throws Exception;
public Map loadObjectWoodcuttingDefs()
throws Exception;
public void saveObjectWoodcuttingDefs(Map defs) throws Exception;
public Map loadObjectFishDefs()
throws Exception;
public void saveObjectFishingDefs(Map defs) throws Exception;
public Map loadSpellAgressiveLevel() throws Exception;
public void saveSpellAgressiveLevel(Map defs) throws Exception;
public Map loadAgilityDefs() throws Exception;
public void saveAgilityDefs(Map defs) throws Exception;
public Map loadAgilityCourseDefs()
throws Exception;
public void saveAgilityCourseDef(Map defs) throws Exception;
public List[] loadKeyChestLoots() throws Exception;
public void saveKeyChestLoots(List[] loots) throws Exception;
public HashMap loadDartTips() throws Exception;
public void dispose();
}