Modified IDatabase.java to be a generic interface to reduce redundant code