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();
public PacketHandlerDef[] loadLSPacketHandlerDefs();
public NpcHandlerDef[] loadNpcHandlers();
public Map loadTelePoints();
public List loadShops();
public Map loadCerterDefs();
public List loadGameObjectLocs();
public List loadItemLocs();
public List loadNPCLocs();
public TileDef[] loadTileDefs();
public GameObjectDef[] loadGameObjectDefs();
public DoorDef[] loadDoorDefs();
public ItemDef[] loadItemDefs();
public PrayerDef[] loadPrayerDefs();
public SpellDef[] loadSpellDefs();
public NPCDef[] loadNPCDefs();
public ItemCraftingDef[] loadItemCraftingDefs();
public ItemHerbSecond[] loadItemHerbSeconds();
public Map loadItemDartTipDefs();
public Map loadGemDefs();
public Map loadItemLogCutDefs();
public Map loadItemBowStringDefs();
public Map loadItemArrowHeadDefs();
public Map loadFiremakingDefs();
public Map loadItemAffectedTypes();
public Map loadItemWieldableDefs();
public Map loadItemUnIdentHerbDefs();
public Map loadItemHerbDefs();
public Map loadItemEdibleHeals();
public Map loadItemCookingDefs();
public Map loadItemSmeltingDefs();
public ItemSmithingDef[] loadItemSmithingDefs();
public Map loadObjectMiningDefs();
public Map loadObjectWoodcuttingDefs();
public Map loadObjectFishDefs();
public Map loadSpellAgressiveLevel();
public Map loadAgilityDefs();
public Map loadAgilityCourseDefs();
public List[] loadKeyChestLoots();
public HashMap loadDartTips();
public void dispose();
}