Interface ProgramEntry

All Superinterfaces:
Browsable, Extensible, Identifiable, OsidObject, OsidRelationship, Temporal

public interface ProgramEntry extends OsidRelationship

A ProgramEntry represents an academic record entry for a Program. The fields in the ProgramEntry may be for the entire enrollment through the academic career or specific to an academic Term.

A ProgramEntry is also an OsidRelationship between the student and Program. The effectiveness of the OsidRelationship describes the effectiveness of the academic record entry itself, not the student's enrollment in the Program. A ProgramEntry may be superseded with a manual update or forced entry and the temporal nature of the relationship provides a history of changes to the academic record.

  • Method Details

    • getStudentId

      Id getStudentId()
      Gets the Id of the Student.
      Returns:
      the student Id
      Compliance:
      mandatory - This method must be implemented.
    • getStudent

      Resource getStudent() throws OperationFailedException
      Gets the Student.
      Returns:
      the student
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getProgramId

      Id getProgramId()
      Gets the Id of the Program.
      Returns:
      the program Id
      Compliance:
      mandatory - This method must be implemented.
    • getProgram

      Program getProgram() throws OperationFailedException
      Gets the Program.
      Returns:
      the program
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • isPartOf

      boolean isPartOf()
      Tests if this program entry is part of another ProgramEntry.
      Returns:
      true if this program entry has a parent, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getParentProgramEntryId

      Id getParentProgramEntryId()
      Gets the Id of the parent program entry.
      Returns:
      the parent program entry Id
      Throws:
      IllegalStateException - isPartOf() is false
      Compliance:
      mandatory - This method must be implemented.
    • getParentProgramEntry

      ProgramEntry getParentProgramEntry() throws OperationFailedException
      Gets the parent program entry.
      Returns:
      the parent program entry
      Throws:
      IllegalStateException - isPartOf() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • isMatriculationKnown

      boolean isMatriculationKnown()
      Tests if the matriculation status for this program entry is known.
      Returns:
      true if the matriculation status is known, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getEntranceDate

      DateTime getEntranceDate()
      Gets the date the student entered the program.
      Returns:
      the entrance date
      Throws:
      IllegalStateException - isMatriculationKnown() is false
      Compliance:
      mandatory - This method must be implemented.
    • getEntranceTermId

      Id getEntranceTermId()
      Gets the Id of the entrance Term.
      Returns:
      the entrance term Id
      Throws:
      IllegalStateException - isMatriculationKnown() is false
      Compliance:
      mandatory - This method must be implemented.
    • getEntranceTerm

      Term getEntranceTerm() throws OperationFailedException
      Gets the reporting time period the student entered the program.
      Returns:
      the entrance term
      Throws:
      IllegalStateException - isMatriculationKnown() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • isExpectedToComplete

      boolean isExpectedToComplete()
      Tests if the student is expected to complete the program at a known time.
      Returns:
      true if an expected completion is known, false otherwise
      Throws:
      IllegalStateException - isMatriculationKnown() is false
      Compliance:
      mandatory - This method must be implemented.
    • getExpectedCompletionDate

      DateTime getExpectedCompletionDate()
      Gets the date the student is expected to complete the program.
      Returns:
      the expected completion date
      Throws:
      IllegalStateException - isExpectedToComplete() is false
      Compliance:
      mandatory - This method must be implemented.
    • getExpectedCompletionTermId

      Id getExpectedCompletionTermId()
      Gets the Id of the expected completion Term.
      Returns:
      the expected completion term Id
      Throws:
      IllegalStateException - isExpectedToComplete() is false
      Compliance:
      mandatory - This method must be implemented.
    • getExpectedCompletionTerm

      Term getExpectedCompletionTerm() throws OperationFailedException
      Gets the reporting time period the student is expected to complete the program.
      Returns:
      the expected completion term
      Throws:
      IllegalStateException - isExpectedToComplete() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • isEnrolled

      boolean isEnrolled()
      Tests if the student is enrolled in the program.
      Returns:
      true if the student is enrolled, false otherwise
      Throws:
      IllegalStateException - isMatriculationKnown() is false
      Compliance:
      mandatory - This method must be implemented.
    • isActivelyEnrolled

      boolean isActivelyEnrolled()
      Tests if the student is active in the program.
      Returns:
      true if the student is actively enrolled, false otherwise
      Throws:
      IllegalStateException - isEnrolled() is false or isOnLeave() is true
      Compliance:
      mandatory - This method must be implemented.
    • isOnLeave

      boolean isOnLeave()
      Tests if the student has taken a leave of absence.
      Returns:
      true if the student is on leave, false otherwise
      Throws:
      IllegalStateException - isEnrolled() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasWithdrawn

      boolean hasWithdrawn()
      Tests if the student withdrew from the program.
      Returns:
      true if the student withdrew, false otherwise
      Throws:
      IllegalStateException - isMatriculationKnown() is false or isEnrolled() is true
      Compliance:
      mandatory - This method must be implemented.
    • getWithdrawDate

      DateTime getWithdrawDate()
      Gets the date the student withdrew from the program.
      Returns:
      the withdraw date
      Throws:
      IllegalStateException - hasWithdrawn() is false
      Compliance:
      mandatory - This method must be implemented.
    • getWithdrawTermId

      Id getWithdrawTermId()
      Gets the Id of the withdraw Term.
      Returns:
      the withdraw term Id
      Throws:
      IllegalStateException - hasWithdrawn() is false
      Compliance:
      mandatory - This method must be implemented.
    • getWithdrawTerm

      Term getWithdrawTerm() throws OperationFailedException
      Gets the reporting time period in which the student withdrew from the program.
      Returns:
      the withdraw term
      Throws:
      IllegalStateException - hasWithdrawn() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • isComplete

      boolean isComplete()
      Tests if the program has been completed. If this entry is for summary information an a past term, isComplete() may be true.
      Returns:
      true if the program has been completed, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getCompletionDate

      DateTime getCompletionDate()
      Gets the date the student completed the program.
      Returns:
      the completion date
      Throws:
      IllegalStateException - isComplete() is false
      Compliance:
      mandatory - This method must be implemented.
    • getCompletionTermId

      Id getCompletionTermId()
      Gets the Id of the completion Term.
      Returns:
      the completion term Id
      Throws:
      IllegalStateException - isComplete() is false
      Compliance:
      mandatory - This method must be implemented.
    • getCompletionTerm

      Term getCompletionTerm() throws OperationFailedException
      Gets the reporting time period in which the student completed the program.
      Returns:
      the completion term
      Throws:
      IllegalStateException - isComplete() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getLevelId

      Id getLevelId()
      Gets the Id of the Grade indicating the student's level.
      Returns:
      the level Id
      Compliance:
      mandatory - This method must be implemented.
    • getLevel

      Grade getLevel() throws OperationFailedException
      Gets an indicator of the student's level or class year in the program.
      Returns:
      the level
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getStandingId

      Id getStandingId()
      Gets the Id of the Grade indicating the student's standing.
      Returns:
      the standing Id
      Compliance:
      mandatory - This method must be implemented.
    • getStanding

      Grade getStanding() throws OperationFailedException
      Gets an indicator of the student's standing in the program.
      Returns:
      the standing
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getAdmissionDate

      DateTime getAdmissionDate()
      Gets the date in which the student was admitted.
      Returns:
      the admission date
      Compliance:
      mandatory - This method must be implemented.
    • isForTerm

      boolean isForTerm()
      Tests if this entry is a progression entry applying to a single term. A program entry may provide summary information for the entire duration or for a single term. If isForTerm() is false , this entry applies to the entire enrollement period.
      Returns:
      true if the program has a term, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getTermId

      Id getTermId()
      Gets the Id of the Term.
      Returns:
      the term Id
      Throws:
      IllegalStateException - isForTerm() is false
      Compliance:
      mandatory - This method must be implemented.
    • getTerm

      Term getTerm() throws OperationFailedException
      Gets the Term.
      Returns:
      the term
      Throws:
      IllegalStateException - isForTerm() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getCreditScaleId

      Id getCreditScaleId()
      Gets the Id of the GradeSystem.
      Returns:
      the grade system Id
      Compliance:
      mandatory - This method must be implemented.
    • getCreditScale

      GradeSystem getCreditScale() throws OperationFailedException
      Gets the GradeSystem.
      Returns:
      the grade system
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getCreditsEarned

      BigDecimal getCreditsEarned()
      Gets the number of credits earned in this program or earned within the included term.
      Returns:
      the credits earned
      Compliance:
      mandatory - This method must be implemented.
    • hasGPA

      boolean hasGPA()
      Tests if a cumulative GPA in this program of the GPA for the included term.
      Returns:
      true if a GPA is available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getGPAScaleId

      Id getGPAScaleId()
      Gets the Id of the GradeSystem.
      Returns:
      the grade system Id
      Throws:
      IllegalStateException - hasGPA() is false
      Compliance:
      mandatory - This method must be implemented.
    • getGPAScale

      Gets the GradeSystem.
      Returns:
      the grade system
      Throws:
      IllegalStateException - hasGPA() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getGPA

      BigDecimal getGPA()
      Gets the cumulative GPA in this porgram or within the included term.
      Returns:
      the GPA
      Throws:
      IllegalStateException - hasGPA() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasEnrollments

      boolean hasEnrollments()
      Tests if Enrollments are available.
      Returns:
      true if enrollments are available, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getEnrollmentIds

      IdList getEnrollmentIds()
      Gets the Ids of the Enrollments.
      Returns:
      the enrollment Ids
      Throws:
      IllegalStateException - hasEnrollments() is false
      Compliance:
      mandatory - This method must be implemented.
    • getEnrollments

      EnrollmentList getEnrollments() throws OperationFailedException
      Gets the Enrollments.
      Returns:
      the enrollments
      Throws:
      IllegalStateException - hasEnrollments() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getProgramEntryRecord

      ProgramEntryRecord getProgramEntryRecord(Type programEntryRecordType) throws OperationFailedException
      Gets the program entry record corresponding to the given ProgramEntry record Type. This method is used to retrieve an object implementing the requested record. The programEntryRecordType may be the Type returned in getRecordTypes() or any of its parents in a Type hierarchy where hasRecordType(programEntryRecordType) is true.
      Parameters:
      programEntryRecordType - the type of program entry record to retrieve
      Returns:
      the program entry record
      Throws:
      NullArgumentException - programEntryRecordType is null
      OperationFailedException - unable to complete request
      UnsupportedException - hasRecordType(programEntryRecordType) is false
      Compliance:
      mandatory - This method must be implemented.