package models.database.HotDatabase; import java.io.File; import java.io.IOException; import javax.xml.parsers.ParserConfigurationException; import models.database.IDatabase; import models.database.IQuestionDatabase; import models.database.ITagDatabase; import models.database.IUserDatabase; import models.database.importers.Importer; import org.xml.sax.SAXException; /** * Provides a Database that is kept entirely in Memory. Server down, data dead. * * @author aaron * */ public class HotDatabase implements IDatabase { private final HotQuestionDatabase questions; private final HotUserDatabase users; private final HotTagDatabase tags; public HotDatabase() { this.users = new HotUserDatabase(); this.tags = new HotTagDatabase(); this.questions = new HotQuestionDatabase(this.tags); } public IQuestionDatabase questions() { return questions; } public IUserDatabase users() { return users; } public ITagDatabase tags() { return tags; } public void importXML(File file) throws SAXException, IOException, ParserConfigurationException { new Importer(this).importXML(file); } public void clear(boolean keepAdmins) { this.users.clear(keepAdmins); this.tags.clear(); this.questions.clear(); } }