ExerciseSet.java
package mirante.api.exercise.set;
import java.util.Set;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.OneToMany;
import jakarta.persistence.ManyToMany;
import jakarta.persistence.JoinColumn;
import jakarta.persistence.JoinTable;
import com.fasterxml.jackson.annotation.JsonProperty;
import mirante.api.course.Course;
import mirante.api.exercise.Exercise;
@Entity
public class ExerciseSet {
@Id @JsonProperty("id") private String id;
@JsonProperty("name") private String name;
Access access;
@ManyToMany @JoinTable(name = "set_course")
private Set<Course> courses;
@OneToMany @JoinColumn(name = "exercise_set")
private Set<Exercise> exercises;
public ExerciseSet() {}
public ExerciseSet(String id) {
this.id = id;
this.name = "";
}
public ExerciseSet(String id, String name, Course course) {
this.id = id;
this.name = name;
this.access = Access.PRIVATE;
}
public void setId(String id) { this.id = id; }
public String getId() { return id; }
public void setName(String name) { this.name = name; }
public String getName() { return name; }
public void setAccess(Access access) { this.access = access; }
public Access getAccess() { return access; }
}