OSID Logo
OSID Specifications
osid package
Version 3.0.0
Release Candidate Preview
Interfaceosid.Identifiable
Description

A marker interface for objects uniquely identified with an OSID Id.

MethodgetId
Description

Gets the Id associated with this instance of this OSID object. Persisting any reference to this object is done by persisting the Id returned from this method. The Id returned may be different than the Id used to query this object. In this case, the new Id should be preferred over the old one for future queries.

Returnosid.id.Idthe Id
CompliancemandatoryThis method must be implemented.
Provider Notes

The Id is intended to be constant and persistent. A consumer may at any time persist the Id for retrieval at any future time. Ideally, the Id should consistently resolve into the designated object and not be reused. In cases where objects are deactivated after a certain lifetime the provider should endeavor not to obliterate the object or its Id but instead should update the properties of the object including the deactiavted status and the elimination of any unwanted pieces of data. As such, there is no means for updating an Id and providers should consider carefully the identification scheme to implement.

Id assignments for objects are strictly in the realm of the provider and any errors should be fixed directly with the backend supporting system. Once an Id has been assigned in a production service it should be honored such that it may be necessary for the backend system to support Id aliasing to redirect the lookup to the current Id. Use of an Id OSID may be helpful to accomplish this task in a modular manner.

MethodisCurrent
Description

Tests to see if the last method invoked retrieved up-to-date data. Simple retrieval methods do not specify errors as, generally, the data is retrieved once at the time this object is instantiated. Some implementations may provide real-time data though the application may not always care. An implementation providing a real-time service may fall back to a previous snapshot in case of error. This method returns false if the data last retrieved was stale.

Returnboolean true if the last data retrieval was up to date, false otherwise
CompliancemandatoryThis method must be implemented.
Provider Notes

Providers should return false unless all getters are implemented using real-time queries, or some trigger process keeps the data in this object current. Providers should populate basic data elements at the time this object is instantiated, or set an error, to ensure some data availability.