Hyperobject is an Common Lisp object representation library based on the Metaobject Protocol.
| sql-name | Overrides default name of SQL table. |
| version | Sets the version number of the class. Can be used to convert previous version of the class. |
| instanciable | If NIL, the class can not be instanciated by the user. |
| description | The class description. |
| sql-name | Override name of the SQL column |
| unique | The values in the slot must be unique |
| stored | The values in the slot are stored in the database. |
| indexed | The values of the slot are indexed in the database. |
| nil-text | The text to print if the slot is NIL |
| value-type | Sets the data type for the field. See the next section for complete details |
| inverse | Sets the name of an automatically generated lookup function based on a key value for this slot |
Valid types for a hyperobjectslot along with their coresponding SQL types are listed in the below table.
| string | TEXT |
(string n) (varchar n) | VARCHAR(n) |
| (char n) | CHAR(n) |
| character | CHAR(1) |
float single-float | float |
| double-float | double |
| blob | BLOB |
This field sets up the storage of a slot of hold a cached object or list of objects. A lookup function and the keys to the function are also specified.
The format for the subobject field is:
(