Summary
Interfaces, contracts, methods, operations, entities, objects, and tables, oh my! The OSID Specification defines its own language solely in reference to itself. Developers will look at it from the OSID Language Binding perspective. Others will import concepts from what they have worked with in databases, web services, or MVC-based platforms. The result is a mash of terms that matters once in a while.
The OSID Perspective
You can look at the OSID schema for its specification terminology. It defines:
- osid: a bunch of interfaces an enumerations
- enumeration: a list of values
- interface: a bunch of methods
- method: something that is invoked with parameters, returns a value or an error
- parameter: defines what may be supplied to a method as an argument, can be an interface, enumeration, or a primitive
- return: defines what may be returned from a method, if anything, can be an interface, enumeration, or a primitive
- primitive: boolean, byte, cardinal. decimal integer, object. string, timestamp
- error: an error from a method such as OPERATION_FAILED or ILLEGAL_STATE
- compliance: a compliance statement for a method - mandatory or optional
The Java Perspective
- package: a bunch of interfaces, classes, enums, and annotations
- enums: constants and methods
- interface: a bunch of methods
- method: something that is invoked with parameters, returns a value or throws an exception
- parameter: defines the type supplied to a method as an argument, can be a class, interface, enum, or a primitive
- return: defines the type of return value, can be a class, interface, enum, primitive, or void
- primitive: boolean, byte, char, double, float int, long, short
- exception: an event that occurs during the execution of a program that disrupts the normal flow of instructions