Class Course

  • Direct Known Subclasses:
    DetailedCourse

    public class Course
    extends java.lang.Object
    Object that represents a Course in Powerschool
    Version:
    1.0.3
    • Constructor Detail

      • Course

        public Course​(java.lang.String courseName,
                      java.lang.String courseFrequency,
                      java.lang.String teacherFirstName,
                      java.lang.String teacherLastName,
                      java.lang.String teacherEmail,
                      java.lang.String room,
                      java.util.List<GradeGroup> courseGrades,
                      User user)
        Basic constructor for a Course
        Parameters:
        courseName - Name of the Course
        courseFrequency - Frequency 'code' of the Course
        teacherFirstName - Teacher's first name
        teacherLastName - Teacher's last name
        teacherEmail - Teacher's email
        room - Course's room number
        courseGrades - List of course's grades
        user - User which the Course belongs to
      • Course

        public Course​(java.util.List<GradeGroup> courseGrades,
                      User user)
        Constructor for a Course with incomplete information
        Parameters:
        courseGrades - List of grades
        user - User which the Course belongs to
    • Method Detail

      • generateCourseFromElement

        public static Course generateCourseFromElement​(org.jsoup.nodes.Element genElement,
                                                       User user,
                                                       ViewSpecification viewSpecification)
        Generates a new Course from a <tr> HTML element
        Parameters:
        genElement - <tr> element to construct a class from
        user - User that the new course belongs to
        viewSpecification - ViewSpecification that should be used to make the Course
        Returns:
        The new course
      • getGradeGroup

        public GradeGroup getGradeGroup​(GradingPeriod gradingPeriod)
        Gets the GradeGroup object for this Course during a specific GradingPeriod
        Parameters:
        gradingPeriod - GradingPeriod which to get the GradeGroup from
        Returns:
        GradeGroup found
        See Also:
        GradingPeriod, GradeGroup
      • getAssignments

        public java.util.List<Assignment> getAssignments​(GradingPeriod gradingPeriod)
        Gets all assignments for this Course
        Parameters:
        gradingPeriod - GradingPeriod which to get the assignments from
        Returns:
        List of assignments found
        See Also:
        Assignment
      • courseIdentifier

        public java.lang.String courseIdentifier()
      • objectIdentifier

        public java.lang.String objectIdentifier()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
        Returns:
        A String formatted like "{Course Name} - {Teacher Last Name} ({Course Grades toString()})"
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • getCourseGrades

        public java.util.List<GradeGroup> getCourseGrades()
        Returns:
        Course grades
      • getCourseFrequency

        public java.lang.String getCourseFrequency()
        Returns:
        Course frequency code
      • getCourseName

        public java.lang.String getCourseName()
        Returns:
        Course name
      • getRoom

        public java.lang.String getRoom()
        Returns:
        Course room number (might not exist)
      • getTeacherEmail

        public java.lang.String getTeacherEmail()
        Returns:
        Course teacher's email address
      • getTeacherFirstName

        public java.lang.String getTeacherFirstName()
        Returns:
        Course teacher's first name
      • getTeacherLastName

        public java.lang.String getTeacherLastName()
        Returns:
        Course teacher's last name
      • getUser

        public User getUser()
        Returns:
        User that owns this Course
        See Also:
        User