Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 4 Current »

Summary

OsidPrimitives are interfaces to unmanaged complex elements used throughout the OSIDs. OsidPrimitives are used to describe measurements or to enhance programming language primitives. 

Primitives

There are two flavors of primitives in the OSIDs:

  • language primitives: These are the basic elements assumed to be found in programming languages. Allowed language primitives are defined in the OSID Specification Framework and include boolean, byte, cardinal, decimal, integer, object, string, and timestamp. These are referenced in the OSIDs without further definition and are bound to a language in an OSID Binder.
  • OsidPrimitives: These primitives are interfaces defined in the OSIDs. Interfaces classified as OsidPrimitives are tagged with the osid.OsidPrimitive interface.

A list of language and OsidPrimitives is in the osid.Syntax enumeration.

Definitions

All OsidPrimitives belong to a service definition. They will be found in their related OSID packages.

Specification Behavior

Interfaces are directional through the OSIDs. Most interfaces are owned by the OSID Provider. This means the OSID Provider has knowledge of the interface implementation but such knowledge is completely encapsulated from OSID Consumers. OsidReceiver interfaces work the other way. OsidReceivers are used for callbacks and owned by an OSID Consumer but are completely encapsulated from OSID Providers (one can argue that the OSID Consumer and OSID Provider roles are reversed in this case).

OsidPrimitives are not owned by either OSID Consumers or OSID Providers. Either party may have knowledge of their implementations but cannot assume anything about the implementation of the OsidPrimitives they receive. Each party must respect the OsidPrimitives given to them.

See Also

  • No labels