package edu.harvard.econcs.turkserver.server; import edu.harvard.econcs.turkserver.QuizMaterials; public abstract class QuizFactory { public abstract QuizMaterials getQuiz(); /** * Used for static quiz on client-side * @author alicexigao * */ public static class NullQuizFactory extends QuizFactory { @Override public QuizMaterials getQuiz() { return null; } } /** * A simple quiz factory that always returns a constant string * @author alicexigao * */ public static class StringQuizFactory extends QuizFactory { QuizMaterials qm; public StringQuizFactory(final String quizType) { qm = new QuizMaterials() { private static final long serialVersionUID = 1L; @Override public Object toData() { return quizType; } }; } @Override public QuizMaterials getQuiz() { return qm; } } }