Special Attributes
This document covers some of the special attributes used by this module.
When we discuss interfaces or the contents of attributes, we are
referring to tagged values. Unless
otherwise noted, tagged values must be set directly on the object in
question; they are not inherited from parent objects.
__external_class_name__
Used an a class or interface to determine the value of the Class
standard external value. Usually this is a string, but when using
InterfaceObjectIO (including ext:registerAutoPackageIO) it can
be a callable returning a string or None
This value is inherited; the first non-None value in the resolution order will be used (the distinction matters when using callables).
See also
AutoPackageSearchingScopedInterfaceObjectIO._ap_compute_external_class_name_from_interface_and_instance
and AutoPackageSearchingScopedInterfaceObjectIO._ap_find_factories
__external_can_create__
This boolean value is set to true on factory functions (e.g.,
classes). ext:registerAutoPackageIO sets it to true automatically.
mimeType
Part of the zope.mimetype.interfaces.IContentTypeAware
interface. This is read from Factories when creating factory
registrations. It also forms one of the standard external fields.
_ext_excluded_out
A tagged value on individual attributes of an interface to prevent
them from being externalized. See InterfaceObjectIO.
__external_factory_wants_arg__
(Provisional). Attribute of a factory. When creating sub-objects and invoking a factory, should we pass the external object to the factory? If not true or not set, the factory receives no arguments.
Added in version 1.0a3.
__external_default_implementation__
(Provisional). Tagged value of an interface implemented by one of the
factories discovered by ext:registerAutoPackageIO holding the
primary factory discovered for that interface. Used when internalizing
anonymous external data.
This value is inherited.
Added in version 1.0a8.
__external_accept_id__
For attributes. Documentation needed.
_ext_is_marker_interface
When searching for a schema to use for externalization, interfaces with this tagged value directly set will not be considered.