Package org.osid.id

The Open Service Interface Definitions for the org.osid.id service.

See: Description

Package org.osid.id Description

The Open Service Interface Definitions for the org.osid.id service.

The Id OSID provides the means for creating and mapping identifiers. All OSID objects are identified by a unique and immutable Id. The Id OSID can be used to generate new Ids when creating new objects.

Consumers wishing to persist an OSID object should instead persist the reference to the object by serializing the Id.

Most OSID interfaces are used to encapsulate implementation-specific objects from provider to consumer. Id is an OsidPrimitive and as such cannot be used to encapsulate implementation-specific data other than what is defined explicitly in the Id. An OSID Provider must respect any Id based on its interface alone.

The Id service can be used to assign Ids for an OSID Provider or be used to manage Id translations for system to system compatibility.

The Id service can also be used as a means to map one identifier to another when an object is known by multiple identifiers. Mapping identifier spaces is often a critical part of interoperability and the Id service can be used as a shim to bridge different systems.

Id Mapping Example

      
      
      public Asset getAsset(assetId) {
          Id id = idSession.getId(assetId);
          return (other_impl.getAsset(assetId));
      }
      
              
      
 



Copyright © 2002, 2006 Massachusetts Institute of Technology. All Rights Reserved.

This Work is being provided by the copyright holder(s) subject to the following license. By obtaining, using and/or copying this Work, you agree that you have read, understand, and will comply with the following terms and conditions.

Permission to use, copy and distribute unmodified versions of this Work, for any purpose, without fee or royalty is hereby granted, provided that you include the above copyright notices and the terms of this license on ALL copies of the Work or portions thereof.

You may modify or create Derivatives of this Work only for your internal purposes. You shall not distribute or transfer any such Derivative of this Work to any location or to any third party. For the purposes of this license, "Derivative" shall mean any derivative of the Work as defined in the United States Copyright Act of 1976, such as a translation or modification.

This Work and the information contained herein is provided on an "AS IS" basis WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE WORK OR THE USE OR OTHER DEALINGS IN THE WORK.

The export of software employing encryption technology may require a specific license from the United States Government. It is the responsibility of any person or organization contemplating export to obtain such a license before exporting this Work.