2008-02-28

filterannotation.txt

  2008-02-28 09:41

...

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

Пакет filterannotation сохраняет в аннотации объекта список идентификаторов
части его объектов, отобранных по некоторому условию. Этот список
поддерживается в актуальном состоянии по событиям, происходящим на
контейнере.

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

Пакет определяет интерфейс IFilterAnnotationAble. Пакет предоставляет
также адаптер этого интерфейса к интерфейсу IFilterAnnotation (о способе
реализации смотри в Аннотации.txt).

Специальный хендлер filterannotationhanndler.txt получает
все события на объекте с таким интерфейсом и поддерживает целостность
списков.

Интерфейс может содержать несколько списков, для каждого списка
могут различаться фильтр объектов, условие добавления (в начало, в конец),
списки имеют названия, по которому список объектов может быть получен.

Интерфейсы
----------

    IFilterAnnotationAble
        Этот интерфейс обуславливает то, что объект будет иметь
        фильтр-аннотацию;

    IFilterAnnotationData
        Этот интерфейс позволяет настроить
        фильтр-аннотацию, содержит единственный элемент - кортеж
        дескрипторов с интерфейсом IFilterAnnotationDecriptor;
        
    IFilterAnnotationDescriptor 
        Этот интерфейс позволяет настроить отдельный дескриптор,
        поля:
        
            name : textline
                Имя списка
                
            condition : select
                Условие включения объекта в список (утилита);
                
            order : select    
                Порядок вставки объекта в список (пока фиксированный список);  
                
            length : int
                Текущая длина списка.
                
    IFilterAnnotation        
        Общий интерфейс аннотации, предоставляет возможность по имени
        списка получить сам список:
        
        keys ()
            Список имен списков;
            
        __getitem__ ()
            Дать список по имени;
            
        itemAdd ()
            Добавить объект;                                
        
        itemRemove ()
            Удалить объект;
            
        itemModify ()
            Модифицировать объект;
            

Виды
----

    filter
        Настройка фильтра, реализуется директиктивой form.
        
Использование
-------------

Использование предполагает наличие специальных адаптеров к интерфейсу
IPagerSource неизвестно как.

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