Interface ProgramRequirement

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

public interface ProgramRequirement extends OsidRule, Aggregateable

A ProgramRequirement is an OsidRule and represents a requirement based on the completion or enrollment for a Program.

  • Method Details

    • getAltRequisites

      Requisite[] getAltRequisites()
      Gets any Requisites that may be substituted in place of this ProgramRequirement. All Requisites must be satisifed to be a substitute for this program 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.
    • 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.
    • requiresCompletion

      boolean requiresCompletion()
      Tests if this requirement requires completion of the program.
      Returns:
      true if a completion of the program is required, false if enrollment in the program is required
      Compliance:
      mandatory - This method must be implemented.
    • hasTimeframe

      boolean hasTimeframe()
      Tests if the program must be completed within the required duration.
      Returns:
      true if the program has to 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 program has to be completed. A negative duration indicates the program had to be completed within the specified amount of time in the past. A posiitive duration indicates the program must be completed within the specified amount of time in the future. A zero duration indicates the program must be completed in the current term.
      Returns:
      the time frame
      Throws:
      IllegalStateException - hasTimeframe() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasMinimumGPA

      boolean hasMinimumGPA()
      Tests if a minimum GPA above passing is required in the completion of the program or maintained at this level during enrollment.
      Returns:
      true if a minimum gpa is required, false if the course just has to be passed
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumGPASystemId

      Id getMinimumGPASystemId()
      Gets the scoring system Id for the minimum GPA.
      Returns:
      the scoring system Id
      Throws:
      IllegalStateException - hasMinimumGPA() is false
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumGPASystem

      GradeSystem getMinimumGPASystem() throws OperationFailedException
      Gets the scoring system for the minimum GPA.
      Returns:
      the scoring system
      Throws:
      IllegalStateException - hasMinimumGPA() is false
      OperationFailedException - unable to complete request
      Compliance:
      mandatory - This method must be implemented.
    • getMinimumGPA

      BigDecimal getMinimumGPA()
      Gets the minimum GPA.
      Returns:
      the minimum gpa
      Throws:
      IllegalStateException - hasMinimumGPA() is false
      Compliance:
      mandatory - This method must be implemented.
    • hasMinimumEarnedCredits

      boolean hasMinimumEarnedCredits()
      Tests if a minimum credits earned in the program 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.
    • getProgramRequirementRecord

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