Возможности управления данными > Управление структурами деталей > Возможности Windchill, связанные с опциями и исполнениями > Фильтрация конфигурируемой структуры изделия с помощью фильтра опций > Стандартный и альтернативный фильтры опций > Настройка поведения фильтрации для делегата фильтрации опций > Конфигурирование стандартного и альтернативного поведения
  
Конфигурирование стандартного и альтернативного поведения
Можно настроить поведение стандартного и альтернативного фильтров опций, указав файл конфигурации для каждого метода. Файл конфигурации задает условия для фильтрации исполнения узла с учетом следующих критериев.
Указанный тип фильтрации.
Стандартный
Взаимозамена
Комбинации типов "родитель-потомок"
Где назначено выражение.
В элементе
В связи использования
Во вхождении
Результат вычисления назначенного выражения.
TRUE
FALSE
UNDEFINED
Эти два файла конфигурации регистрируются в файле WT_HOME/wt.properties в следующих свойствах:
ato.filter.strategy.1 - для стандартного поведения
ato.filter.strategy.2 - для альтернативного поведения
В файле wt.properties используются следующие стандартные значения свойств.
ato.filter.strategy.1=$(wt.home)/codebase/com/ptc/windchill/option/filter/StandardFilterStrategy.xml
ato.filter.strategy.2=$(wt.home)/codebase/com/ptc/windchill/option/filter/AlternateFilterStrategy.xml
Пользовательские анализаторы XML
Корнем любого файла конфигурации фильтрации опций является элемент FilterStrategy. Его единственный атрибут - это "обработчик", значение которого представляет собой полностью квалифицированное наименование класса, анализирующего XML-файл. Обработчик создает экземпляр объекта FilterStrategy в пакете com.ptc.windchill.option.filter. В частности, обработчик XML должен реализовать интерфейс com.ptc.windchill.option.filter.FilterStrategyhandler с помощью одиночного метода, который определен, и проходит через корневой элемент FilterStrategy XML-файла, как показано в следующем примере.
public FilterStretegy loadfilterStrategyHandler(org.w3c.dom.Element e);
Данный атрибут позволяет указать собственный формат XML для создания пользовательских стратегий фильтрации. Однако в большинстве ситуаций достаточно использования стандартного обработчика com.ptc.windchill.option.filter. DefaultFilterStrategyHandler для готового к применению формата XML. Стандартный обработчик определен как:
com.ptc.windchill.option.filter.DefaultFilterStrategyhandler
Формат стандартных файлов конфигурации XML
Корневой элемент FilterStrategy представляет собой узел FilterNode, содержащий политики вычисления выражений для данного типа объекта.
Для элемента FilterNode существуют следующие атрибуты, которые полностью характеризуют объект узла единицы навигации, участвующий в процессе фильтрации.
Атрибут
Определение и значения
тип
Тип или тип класса фильтруемого или вспомогательного объекта.
parentType
Тип или тип класса родительского объекта для фильтруемого объекта.
childType
Тип или тип класса неисправности разрешенного дочернего объекта для фильтруемого объекта.
Например, в общем случае фильтруемый объект является экземпляром WTPartUsageLink. Его родительским объектом является родительская деталь WTPart связи использования, а его дочерним объектом является разрешенная деталь WTPart дочернего объекта WTPartMaster связи использования. Обратите внимание: необходимо указать хотя бы один из трех атрибутов элемента FilterNode. Узлы фильтра сопоставляются с объектами узла в порядке, указанном в XML-файле. Будет возвращена первая сопоставленная политика.
Политики выражений
Для каждого элемента FilterNode должны существовать один или два подэлемента политики базовых и/или расширенных выражений.
Элемент политики выражений имеет следующие атрибуты, описывающие, применима ли политика к базовым или расширенным выражениям, а также условиям для фильтрации узлов структуры на основе наличия и значения расширенных выражений, как показано в следующей таблице.
Атрибут
Определение и значения
advanced
Определяет, применяется ли политика к расширенному (если значение равно TRUE) или базовому (если значение равно FALSE) выражению.
mode
Список условий, при выполнении которых узел должен быть отфильтрован. В атрибуте mode могут быть перечислены одна или несколько констант из приведенных ниже.
Константа
Описание
STANDARD
Отфильтровать узел, если значение выражения равно FALSE.
UNDEFINED
Отфильтровать узел, если значение выражения равно UNDEFINED.
Атрибут mode для базовых выражений
Для базового выражения используются следующие атрибуты mode.
Атрибут
Определение и значения
STANDARD
Стандартная фильтрация вариантов (на основе базовых выражений) отличается от фильтрации на основе расширенных выражений. Варианты, назначенные фильтруемому объекту (связь использования) и объекту конечного узла (дочерняя деталь), в алгоритме на основе вариантов комбинируются и затем сопоставляются в виде комбинированного набора набору элементов, выбранных пользователем в фильтре.
UNDEFINED
Если рассматривать набор опций, варианты которых назначены объекту, то атрибут mode имеет значение UNDEFINED, если и только если фильтр содержит опцию из этого набора, для которой не существует выбора пользователя.