package com.refresh.pos.techicalservices; /** * Uses to directly access to database. * * @author Refresh Team * */ public class DatabaseExecutor { private static Database database; private static DatabaseExecutor instance; private DatabaseExecutor() { } /** * Sets database for use in DatabaseExecutor. * @param db database. */ public static void setDatabase(Database db) { database = db; } public static DatabaseExecutor getInstance() { if (instance == null) instance = new DatabaseExecutor(); return instance; } /** * Drops all data in database. */ public void dropAllData() { execute("DELETE FROM " + DatabaseContents.TABLE_PRODUCT_CATALOG + ";"); execute("DELETE FROM " + DatabaseContents.TABLE_SALE + ";"); execute("DELETE FROM " + DatabaseContents.TABLE_SALE_LINEITEM + ";"); execute("DELETE FROM " + DatabaseContents.TABLE_STOCK + ";"); execute("DELETE FROM " + DatabaseContents.TABLE_STOCK_SUM + ";"); execute("VACUUM;"); } /** * Directly execute to database. * @param queryString query string for execute. */ private void execute(String queryString) { database.execute(queryString); } }