Interface CourseRequirement

All Superinterfaces:
Aggregateable, Browsable, Extensible, Identifiable, Operable, OsidObject, OsidRule

public interface CourseRequirement extends OsidRule, Aggregateable

A CourseRequirement is an OsidRule and represents a requirement based on the completion or a co-requisite of a course.

  • Method Details

    • getAltRequisites

      Requisite[] getAltRequisites()
      Gets any Requisites that may be substituted in place of this CourseRequirement. All Requisites must be satisifed to be a substitute for this course requirement. Inactive Requisites are not evaluated but if no applicable requisite exists, then the alternate requisite is not satisifed.
      Returns:
      the alternate requisites
      Compliance:
      mandatory - This method must be implemented.
    • getCourseIds

      IdList getCourseIds()
      Gets the Ids of the Courses.
      Returns:
      the course Ids
      Compliance:
      mandatory - This method must be implemented.
    • getCourses

      Gets the Courses. If requiresMinimumNumber() and requiresMinimumCredits() are both false, then all Courses in this set must be completed for this requirement.
      Returns:
      the courses
      Throws:
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • requiresSubjectArea

      boolean requiresSubjectArea()
      Tests if any Course tagged in a subject area is required.
      Returns:
      true if a subject area is required, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getSubjectAreaId

      Id getSubjectAreaId()
      Gets the subject area Id.
      Returns:
      the subject area Id
      Throws:
      IllegalStateException - requiresSubjectArea() is false
      Compliance:
      mandatory - This method must be implemented.
    • getSubjectArea

      Subject getSubjectArea() throws OperationFailedException
      Gets the subject area.
      Returns:
      the subject area
      Throws:
      IllegalStateException - requiresSubjectArea() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • includeEquivalentUnits

      boolean includeEquivalentUnits()
      Tests if equivalent Courses to the ones specified satisfy this requirement.
      Returns:
      true if equivalent courses are acceptable, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • requiresMinimumNumber

      boolean requiresMinimumNumber()
      Tests if a minimum number of Courses from the set must be completed to satisfy this CourseRequisite.
      Returns:
      true if a minimum number of courses is required, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumNumber

      long getMinimumNumber()
      The minimum number of Courses in this CourseRequisite to complete from the set.
      Returns:
      the minimum number of courses
      Throws:
      IllegalStateException - requiresMinimumNumber() is false
      Compliance:
      mandatory - This method must be implemented.
    • requiresMinimumNonTransferNumber

      boolean requiresMinimumNonTransferNumber()
      Tests if there is a minimum number of non-transfer Courses required to complete from the set.
      Returns:
      true if a minimum number of non-transfer courses is required, false otherwise
      Throws:
      IllegalStateException - requiresMinimumNumber() is false
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumNonTransferNumber

      long getMinimumNonTransferNumber()
      The minimum number of non-transfer Courses required from the set.
      Returns:
      the minimum number of non-transfer courses
      Throws:
      IllegalStateException - requiresMinimumNonTransferNumber() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasTargetNumberForSet

      boolean hasTargetNumberForSet()
      Tests if the set should contain a minimum number of Courses to be a valid requirement.
      Returns:
      true if the set has a minimum course count, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getTargetSetNumber

      long getTargetSetNumber()
      The minimum number of courses in the set to be a valid requirement.
      Returns:
      the minimum number of courses in the set
      Throws:
      IllegalStateException - hasTargetNumberForSet() is false
      Compliance:
      mandatory - This method must be implemented.
    • requiresMinimumCredits

      boolean requiresMinimumCredits()
      Tests if a minimum number of credits must be completed from the set of Courses to satisfy this requirement.
      Returns:
      true if a minimum number of credits is required, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getCreditScaleId

      Id getCreditScaleId()
      The Id of the credit scale of the minimum credits.
      Returns:
      the credit scale Id
      Throws:
      IllegalStateException - requiresMinimumCredits() is false
      Compliance:
      mandatory - This method must be implemented.
    • getCreditScale

      GradeSystem getCreditScale() throws OperationFailedException
      The credit scale of the minimum credits.
      Returns:
      the credit scale
      Throws:
      IllegalStateException - requiresMinimumCredits() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumCredits

      BigDecimal getMinimumCredits()
      The minimum number of credits that must be completed from the set of Courses to satisfy this requirement.
      Returns:
      the minimum credits
      Throws:
      IllegalStateException - requiresMinimumCredits() is false
      Compliance:
      mandatory - This method must be implemented.
    • requiresMinimumNonTransferCredits

      boolean requiresMinimumNonTransferCredits()
      Tests if a minimum number of non-transfer credits must be completed from the set of Courses to satisfy this requirement.
      Returns:
      true if a minimum number of non-transfer credits is required, false otherwise
      Throws:
      IllegalStateException - requiresMinimumCredits() is false
      Compliance:
      mandatory - This method must be implemented.
    • getNonTransferCredits

      BigDecimal getNonTransferCredits()
      The minimum number of non-transfer credits that must be completed from the set of Courses to satisfy this requirement.
      Returns:
      the minimum non-transfer credits
      Throws:
      IllegalStateException - requiresMinimumNonTransferCredits() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasTargetCreditsForSet

      boolean hasTargetCreditsForSet()
      Tests if the set should contain a minimum number of Course credits to be a valid requirement.
      Returns:
      true if the set has a minimum credit count, false otherwise
      Compliance:
      mandatory - This method must be implemented.
    • getTargetSetCredits

      BigDecimal getTargetSetCredits()
      The minimum number of Course credits to be a valid requirement.
      Returns:
      the minimum credits in the set
      Throws:
      IllegalStateException - hasTargetCreditsForSet() is false
      Compliance:
      mandatory - This method must be implemented.
    • requiresCompletion

      boolean requiresCompletion()
      Tests if this requirement requires completion of the course with a passing grade.
      Returns:
      true if a completion of the course is required, false is the course is a co-requisite
      Compliance:
      mandatory - This method must be implemented.
    • hasTimeframe

      boolean hasTimeframe()
      Tests if the course must be completed within the required duration.
      Returns:
      true if the course must be completed within a required time, false if it could have been completed at any time in the past
      Compliance:
      mandatory - This method must be implemented.
    • getTimeframe

      Duration getTimeframe()
      Gets the timeframe in which the course has to be completed. A negative duration indicates the course had to be completed within the specified amount of time in the past. A posiitive duration indicates the course must be completed within the specified amount of time in the future. A zero duration indicates the course must be completed in the current term.
      Returns:
      the time frame
      Throws:
      IllegalStateException - hasTimeframe() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasMinimumGrade

      boolean hasMinimumGrade()
      Tests if a minimum grade above passing is required in the completion of the course or maintained at this level during a co-requisite.
      Returns:
      true if a minimum grade is required, false if the course just has to be passed
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumGradeId

      Id getMinimumGradeId()
      Gets the minimum grade Id.
      Returns:
      the minimum grade Id
      Throws:
      IllegalStateException - hasMinimumGrade() is false
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumGrade

      Grade getMinimumGrade() throws OperationFailedException
      Gets the minimum grade.
      Returns:
      the minimum grade
      Throws:
      IllegalStateException - hasMinimumGrade() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • hasMinimumScore

      boolean hasMinimumScore()
      Tests if a minimum score above passing is required in the completion of the course or maintained at this level during a co-requisite.
      Returns:
      true if a minimum score is required, false if the course just has to be passed
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumScoreSystemId

      Id getMinimumScoreSystemId()
      Gets the scoring system Id for the minimum score.
      Returns:
      the scoring system Id
      Throws:
      IllegalStateException - hasMinimumScore() is false
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumScoreSystem

      GradeSystem getMinimumScoreSystem() throws OperationFailedException
      Gets the scoring system for the minimum score.
      Returns:
      the scoring system
      Throws:
      IllegalStateException - hasMinimumScore() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumScore

      BigDecimal getMinimumScore()
      Gets the minimum score.
      Returns:
      the minimum score
      Throws:
      IllegalStateException - hasMinimumScore() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasMinimumEarnedCredits

      boolean hasMinimumEarnedCredits()
      Tests if a minimum credits earned from the completion of the course, or registered for in a co-requisite is required.
      Returns:
      true if a minimum credits is required, false otehrwise
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumEarnedCredits

      BigDecimal getMinimumEarnedCredits()
      Gets the minimum earned credits.
      Returns:
      the minimum credits
      Throws:
      IllegalStateException - hasMinimumEarnedCredits() is false
      Compliance:
      mandatory - This method must be implemented.
    • getCourseRequirementRecord

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