Zope3 продукты ng.xmlrpcscan ng.zcmlmultiform

ng.zcmljunction

  2007-11-10 16:06

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

Такой продукт крайне полезен при построении адаптеров к поисковым каталогам и другим аналогичным службам, так как адаптеры приходится строить к десяткам объектов, а код их относительно простой.

Продукт

Название:
ng.zcmljunction
Выложен на PyPI
Репозиторий
Описание ng.zcmljunction

Описание ng.zcmljunction

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

Описание

Регистрируются две директивы: junction и вложенная в нее директива property.

junction

Объявляет собственно адаптер, т.е. указывает между какими именно интерфейсами будет происходить преобразование.

Возможные параметры:

for
Имя адаптируемого интерфейса;
provides
Имя предоставляемого интерфейса;
factory
Необязательный параметр, который содержит класс, который может реализовывать преобразование атрибутов, которое не сводится к вышеописанным преобразованиям.
property

Директива вложена в директиву junction и для каждого свойства описывает, как оно может быть получено.

Возможные параметры:

out
Имя атрибута предоставляемого интерфейса;
in
Список атрибутов адаптируемого интерфейса, из которых собирается атрибут предоставляемого интерфейса. Обратите внимание, что в адаптере возможна рекурсия - т.е. он может использовать в качестве входных атрибуты, собранные ранее. Текстовые атрибуты, если их много, складываются через символ n, не-текстовый атрибут может быть только один и он копируется;
default
Значение, которое будет подставлено, если отсутствует указанный атрибут адаптируемого интерфейса или атрибут не указан вообще.

Пример

Для примера возьмем типичный адаптер, преобразующий интерфейс объекта к интерфейсу поискового каталога:

<junction
  for=".interfaces.IArticle"
  provides=".interfaces.ISearch"
  factory = ".searchadapter.SearchAdapter"
  >
  <property in="title" out="title"/>
  <property in="abstract" out="abstract"/>
  <property in="body" out="body" default=""/>
  <property in="abstract klass name keyword title body author" out="common" default=""/>
</junction>

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

Структура Zope3 сайта.txt ng.app.rss

Вложено:

Новое в ng.zcmljunction 2009-06-30 13:56 Степан Ломов 
README.txt 2007-11-10 16:06 Андрей Орлов 

The zcmljunction is zope3 product developed to provide possibility rapid interface adapter creation. ...

Эпицентр Zope3 Учат тут Нейросети Репозиторий Статистика Редакторам Проекты
Подписаться на RSS Feed Официальный сайт Zope3 Московская группа изучения реактивного движения The Dream Bot Site noooxml