Interface | osid.OsidRelationship | ||
---|---|---|---|
Implements | osid.OsidObject | ||
osid.Temporal | |||
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. |