Class Semester

java.lang.Object
page.codeberg.friedolyn.grades.Semester
All Implemented Interfaces:
Copyable<Semester>

public class Semester extends Object implements Copyable<Semester>
Represents a university semester.
Implementation Note:
This class is not a record, because the constructor needs to validate the year and, if invalid, throw an IllegalArgumentException. While the validation could be done in a record as well, we cannot add throws IllegalArgumentException to the record's constructor signature, risking that callers of the constructor will not handle the exception. JavaDoc is not a sufficient replacement here!