CourseInfo.java

package edu.ucsb.cs156.courses.documents;

import java.util.List;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * CourseInfo is an object that stores all of the information about a course from the UCSB Courses
 * API except for the section info
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CourseInfo implements Cloneable {
  private String quarter;
  private String courseId;
  private String title;
  private String description;
  private List<GeneralEducation> generalEducation;

  public Object clone() throws CloneNotSupportedException {
    CourseInfo newCourseInfo = (CourseInfo) super.clone();
    return newCourseInfo;
  }
}