2008-02-28

extensionselector.txt

  2008-02-28 09:53

factory Фабрика объекта, используется поле choice и словарь утилит IFactory (надо сделать самому, factoryvocabulary); Дополнительный ссылки IExtensionSelectorDescriptor содержит поля factory и iface, реализация которых требует создания словарей. ...

Краткое описание пакета extensionselector
=========================================

Пакет предоставляет специальную утилиту, позволяющую получить фабрику
объекта в зависимости от его расширения.     Утилита предоставляет две
функции: получить новое имя и фабрику объекта по его имени и получить
старое имя по имени объекта. 

Способ реализации
-----------------

Утилита предоставляет форму для ввода расширений и фабрик 
объекта (интерфейс IExtensionSelectorData), а также
интерфейс взаимодействия IExtensionSelector. Через функции
интерфейса взаимодействия можно по любому данному имени получить
новое имя и фабрику объекта или выполнить обратное преобразование -
по объекту и имени получить старое имя объекта.

Интерфейсы
----------
    IExtensionSelector 
        Интерфейс взаимодействия с утилитой, содержит методы:
        
            name2factory() : имя -> (идентификатор, фабрика)
                По имени найти дескриптор, по дескриптору получить
                идентификатор и фабрику и вернуть их.
            
            ob2name() : объект -> имя
                По контент-типу объекта найти дескриптор, по 
                дескриптору из идентификатора объекта получить
                имя и вернуть.
            
        Для обоих методов идентификация и преобразования проводятся при
        помощи IExtensionSelectorDescriptor.

    IExtensionSelectorData
        Содержит один элемент, кортеж дескрипторов (это объект такой IExtensionSelectorDescriptor).
        
    IExtensionSelectorDescriptor        
        Содержит следующие поля;
        
            regexpsrc
                Регулярное выражение для разбора исходного имени;
                 
            regexpname
                Регулярное выраэение, для разбора имени объекта;
                 
            formatname
                Форматное выражение, используемое для генерации имени
                объекта;
                
            formatsrc
                Форматное выражение, используемое для генерации исходного
                имени;
                
            factory
                Фабрика объекта, используется поле choice и словарь утилит
                IFactory (надо сделать самому, factoryvocabulary);
                
            contenttype
                Интерфейс контент-класса объекта, используется поле choice и
                словарь утилит IContentType (надо сделать самому,
                contenttypevocabulary, или можно поискать готовый в
                ++apidoc++);


Дополнительный ссылки
---------------------

IExtensionSelectorDescriptor содержит поля factory и iface, реализация
которых требует создания словарей. Несколько ссылок, которые
могут помочь это сделать:

 Как сделать и использовать словарь 
    Подробный рассках про то, как делаются словари и как они используются;
    
 Как сделать поле choice
    Рассказ про то, как делаются некоторые сложные поля, в частности поле choice;
     
 Как получить списки утилит из реестров
    Рассказ про работу с реестрами, дан с некоторым забеганием вперед.
         
Виды
----
    edit
        Редактирование IExtensionSelectorData

         

Ссылки на эту статью:

Pitch Maverick
Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site noooxml