| Interface | osid.OsidRelationship | ||
|---|---|---|---|
| Implements | osid.OsidObject | ||
osid.Temporal | |||
| Implemented By | osid.course.CourseOffering | ||
osid.course.Activity | |||
osid.ordering.Item | |||
osid.topology.Edge | |||
osid.relationship.Relationship | |||
osid.contact.Contact | |||
osid.provisioning.Provision | |||
osid.provisioning.Request | |||
osid.provisioning.RequestTransaction | |||
osid.provisioning.Provisionable | |||
osid.hold.Hold | |||
osid.subscription.Subscription | |||
osid.authorization.Authorization | |||
osid.learning.Proficiency | |||
osid.recognition.Conferral | |||
osid.grading.GradeEntry | |||
osid.room.squatting.Lease | |||
osid.room.squatting.Deed | |||
osid.resourcing.Availability | |||
osid.resourcing.Commission | |||
osid.resourcing.Effort | |||
osid.financials.budgeting.Budget | |||
osid.financials.budgeting.BudgetEntry | |||
osid.rules.check.Instruction | |||
osid.course.plan.Plan | |||
osid.course.plan.Lesson | |||
osid.bidding.Bid | |||
osid.profile.ProfileEntry | |||
osid.course.registration.Registration | |||
osid.course.registration.CourseRegistration | |||
osid.course.registration.ActivityRegistration | |||
osid.tracking.Issue | |||
osid.mapping.route.Route | |||
osid.offering.Offering | |||
osid.offering.Participant | |||
osid.voting.Vote | |||
osid.voting.Candidate | |||
osid.calendaring.Commitment | |||
osid.commenting.Comment | |||
osid.resource.ResourceRelationship | |||
osid.personnel.Appointment | |||
osid.course.program.ProgramOffering | |||
osid.course.program.Enrollment | |||
osid.billing.Entry | |||
osid.inquiry.Response | |||
osid.course.chronicle.ProgramEntry | |||
osid.course.chronicle.CourseEntry | |||
osid.course.chronicle.CredentialEntry | |||
osid.course.chronicle.AssessmentEntry | |||
osid.course.chronicle.AwardEntry | |||
osid.acknowledgement.Credit | |||
osid.topology.path.Path | |||
osid.course.syllabus.Docet | |||
osid.ontology.Relevancy | |||
osid.control.Input | |||
| Description |
A Unlike other Once the student has dropped the course, the relationship
has expired such that
The relationships are: T1. R1 {effective, September 1 -> end of term, data=grades}
T2. R1 {ineffective, September 1 -> September 10, data=grades}
T3. R1 {ineffective, September 1 -> September 10, data=grades}
R2 {effective, September 10 -> end of term, data=p/f}
An OSID Provider may also permit dates to be set in the future in which case the relationship can become automatically become effective at a future time and later expire. More complex effectiveness management can be done through other rule-based services. OSID Consumer lookups and queries of relationships need to consider that it may be only effective relationshps are of interest. | ||
| Method | hasEndReason | ||
| Description |
Tests if a reason this relationship came to an end is known. | ||
| Return | boolean | true if an end reason is available, false
otherwise | |
| Errors | ILLEGAL_STATE | isEffective() is true | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getEndReasonId | ||
| Description |
Gets a state | ||
| Return | osid.id.Id | a state Id | |
| Errors | ILLEGAL_STATE | hasEndReason() is false | |
| Compliance | mandatory | This method must be implemented. | |
| Method | getEndReason | ||
| Description |
Gets a state indicating why this relationship has ended. | ||
| Return | osid.process.State | a state | |
| Errors | ILLEGAL_STATE | hasEndReason() is false | |
| OPERATION_FAILED | unable to complete request | ||
| Compliance | mandatory | This method must be implemented. | |