MOP:访问任何插槽定义? (mito的柱式)
MOP: acess any slot definition ? (mito's col-type)
我定义了一个使用 Mito ORM 的 class,插槽定义了一个 :col-type
:
(isbn
:accessor isbn
:initarg :isbn
:col-type (or (:varchar 128) :null))
如何获取:col-type
定义?由于这是我的 class 定义中的一个插槽,是否没有通用的方法来访问它,例如 slot-definition :col-type ...
?
关于clos-mop documentation,我只找到如何访问
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))
谢谢。
col-type
是 mito.class.column:table-column-class
提供的扩展。它有一个访问器 %table-column-type
,由 mito.class.column:table-column-type
.
包裹
我定义了一个使用 Mito ORM 的 class,插槽定义了一个 :col-type
:
(isbn
:accessor isbn
:initarg :isbn
:col-type (or (:varchar 128) :null))
如何获取:col-type
定义?由于这是我的 class 定义中的一个插槽,是否没有通用的方法来访问它,例如 slot-definition :col-type ...
?
关于clos-mop documentation,我只找到如何访问
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))
谢谢。
col-type
是 mito.class.column:table-column-class
提供的扩展。它有一个访问器 %table-column-type
,由 mito.class.column:table-column-type
.