MOP: есть доступ к определению слотов?(тип Мито col) - PullRequest
0 голосов
/ 11 мая 2018

Я определяю класс, который использует Mito ORM, слоты определяют :col-type:

(isbn
 :accessor isbn
 :initarg :isbn
 :col-type (or (:varchar 128) :null))

Как получить определение :col-type?Поскольку это слот в моем определении класса, нет ли общего способа доступа к нему, как slot-definition :col-type ...?

В документации clos-mop я только нахожу, как получить доступ к

slot-definition-allocation
slot-definition-initargs
slot-definition-initform
slot-definition-initfunction
slot-definition-name
slot-definition-type

Слот isbn выглядит так:

#<MITO.DAO.COLUMN:DAO-TABLE-COLUMN-CLASS {1005928483}>
--------------------
Name: BOOKSHOPS.MODELS:ISBN
Init args: (:ISBN)
Init form: #<unspecified>
Init function: NIL
--------------------
Group slots by inheritance [ ]
Sort slots alphabetically  [X]

All Slots:
[ ]  %CLASS           = #<DAO-TABLE-CLASS BOOK>
[ ]  %DOCUMENTATION   = NIL
[ ]  %TYPE            = T
[ ]  ALLOCATION       = :INSTANCE
[ ]  ALLOCATION-CLASS = NIL
[ ]  COL-TYPE         = (OR (:VARCHAR 128) :NULL)
[ ]  DEFLATE          = #<unbound>
[ ]  GHOST            = NIL
[ ]  INFLATE          = #<unbound>
[ ]  INITARGS         = (:ISBN)
[ ]  INITFORM         = NIL
[ ]  INITFUNCTION     = NIL
[ ]  NAME             = BOOKSHOPS.MODELS:ISBN
[ ]  PRIMARY-KEY      = NIL
[ ]  READERS          = (BOOKSHOPS.MODELS:ISBN)
[ ]  REFERENCES       = NIL
[ ]  WRITERS          = ((SETF BOOKSHOPS.MODELS:ISBN))

Спасибо.

1 Ответ

0 голосов
/ 11 мая 2018

col-type является расширением, предоставленным mito.class.column:table-column-class.У него есть аксессор %table-column-type, завернутый в mito.class.column:table-column-type.

...