|Title||Open Service Interface Definitions|
The meta package is part of the OSID Specification framework and defines language primitives and errors used throughout the OSIDs. The OSID Specifications are defined completely in terms of interfaces and the elements specified in the meta specification.
This meta package enumerates the allowable language primitives that can be used in OSID method signatures. Parameters and returns in OSID methods may be specified in terms of other OSID interfaces or using one of these primitives. An OSID Binder translates these language primitives into an appropriate language primitive counterpart.
An OSID Primitive differs from a language primitive. An OSID Primitive is an interface used to describe a more complex structure than a simple language primitive can support. Both OSID Primitives and language primitives have the same behavior in the OSIDs in that an there is no service encapsulation present allowing OSID Primitives to be consructed by an OSID Consumer.
OSID methods are required to return a value, if specified, or return one of the errors specified in the method signature. The meta package defines the set of errors that a method signtaure may use.
Errors should result when the contract of the interface as been violated or cannot be fulfilled and it is necessary to disrupt the flow of control for an OSID Consumer. Different errors are specified where it is forseen that an OSID Consumer may wish to execute a different action without violating the encapsulation of internal OSID Provider operations. Such actions do not include debugging or other detailed information which is the responsibility of the OSID Provider to manage. As such, the number of errors defined across all the interfaces is kept to a minimum and the context of the error may vary from method to method in accordance with the OSID Specification.
Errors are categorized to convey the audience to which the error pertains.
OSID methods include a compliance statement indicating whether a method is required or optional to implement. An optional OSID method is one that defines an UNIMPLEMENTED error and there is a corresponding method to test for the existence of an implementation.