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.