/** * Class which holds a list of all the available databanks * @author Kim Paterson */ package question; import java.util.Collection; public abstract class QuestionBankDB { /** * The collection of Question databases */ private Collection questionBanks; /** * Adds the input QuestionDB to the collection */ /*@ requires // // There is no Question Database with the same name as the // given input. // (! (\exists QuestionDB questionDB ; questionBanks.contains(questionDB) ; questionDB.name.equals(qdb.name))) && // // The question database is not null // (qdb != null); ensures // // The given QuestionDB is in the questionBank // questionBanks.contains(qdb) && (\forall QuestionDB questionDB ; questionBanks.contains(questionDB) <==> questionDB.equals(qdb) || \old(questionBanks).contains(questionDB)); @*/ abstract void add(QuestionDB qdb); /** * Removes the given QuestionDB from the data */ /*@ requires // // The given QuestionDB is in this.questionBanks // (questionBanks.contains(qdb)); ensures // // A QuestionDB is in the database are if and only if // the are not equal to the input questionDB. // (\forall QuestionDB questiondb ; questionBanks.contains(questiondb) <==> !questiondb.equals(qdb) && \old(questionBanks).contains(questiondb)) ; @*/ abstract QuestionDB remove(QuestionDB qdb); }