FillInBlankQuestion.java
package com.gvi.project.models.questions;
import java.util.List;
public class FillInBlankQuestion extends Question {
private final List<Blank> blanks;
public FillInBlankQuestion(int id, TopicArea topicArea, String introText, String questionText, List<Blank> blanks, Difficulty difficulty) {
super(id, topicArea, introText, questionText, QuestionType.FILL_IN_BLANK, difficulty);
this.blanks = List.copyOf(blanks);
}
public List<Blank> getBlanks() {
return blanks;
}
@Override
public int getMaxPoints() {
return ScoreCalculator.calculateGapMaxPoints(getDifficulty(), blanks.size());
}
@Override
public List<Answer> getAnswers() {
return blanks.stream()
.flatMap(b -> b.options().stream())
.toList();
}
public record Blank(String textBefore, List<Answer> options, String textAfter) {
public Blank {
options = List.copyOf(options);
}
}
}