Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

MethodReturn SyntaxReturn Value or ErrorComments
getId()osid.id.IdUnknownId

This is an implementation of osid.id.Id that identifies "I don't know." However, since every OsidObject is uniquely identified by its Id, there can only be one of these.

One should be able to: ResourceRelationshipLookupSession.getResourceRelationship(brokenResourceRelationship.getId())

If that works, then all is well as far as the OSIDs are concerned. But you have serious design issues if you can't figure out the identifier from your data store.

isCurrent()booleanfalsethis This is connected to the nature of the implementation. Unless it is a real-time implementation where the information is current, the answer is always false.
getRecordTypes()osid.type.TypeListEmptyTypeListan An osid.type.TypeList with no Types.
hasRecordType(osid.type.Type)booleanfalsealways Always false if getRecordTypes() is empty.
getProperties()osid.PropertyListempty listan An osid.PropertyList with no properties.
getPropertiesByRecordType(osid.type.Type)osid.PropertyListUNSUPPORTEDgetRecordTypes() is empty.
getDisplayNameosid.locale.DisplayTextEmptyDisplayTextAn osid.locale.DisplayText with an empty string.
getDescriptionosid.locale.DisplayTextEmptyDisplayTextAn osid.locale.DisplayText with an empty string.
getGenusTypeosid.type.TypeUnknownTypeAn osid.type.Type that identifies nothing.
isOfGenusTypebooleantrue if the given Type matches getGenusType() 
isEffective()booleanfalse 
getStartDate()osid.calendaring.DateTimeUnknownDateTimeAn implementation of osid.calendaring.DateTime that has an infinite uncertainty. We could have gone another way and implemented the concept of "always" by using an infinite granularity. In this case, isEffective() would always be true. This is an example where the lack of a value may mean two different things – "I don't know" or "forever."
getEndDate()osid.calendaring.DateTimeUnknownDateTime 
hasEndReason()booleanfalse 
getEndReasonId()osid.id.IdILLEGAL_STATEthe end reason state is only available if hasEndReason is true
getEndReason()osid.process.StateILLEGAL_STATEthe end reason state is only available if hasEndReason is true
getSourceResourceId()osid.id.IdUnknownResource.getId()we don't know what this is, so let's make up a Resource and return that
getSourceResource()osid.resource.ResourceUnknownResource 
getDestinationResourceId()osid.id.IdUnknownResource.getId() 
getDestinationResource()osid.resource.ResourceUnknownResource() 
getResourceRelationshipRecord(osid.type.Type)osid.resource.records.ResourceRelationshipRecordUNSUPPORTEDgetRecordTypes() is empty, so we don't support any

This may seem silly, but you will find many of these Unknown and Empty implementations in the Okapia jamocha package. They are handy for stubbing things in during development.