Под действием понимается класс у экземпляра которого вызывается метод execute. Действия бывают двух видов:
org.weda.store.impl.ObjectSourceImpl
а именем будет название источника объектов.
Действие может иметь параметры. Параметры могут быть
Параметры задаются при помощи аннотации Parameter. Аннотация ставиться перед getter'ом или setter'ом свойства.
Пример использования
@Parameter(direction=Direction.READ_WRITE) public Integer getPageNumber() { return pageNumber; } public void setPageNumber(Integer pageNumber) { this.pageNumber = pageNumber; } @Parameter(direction=Direction.READ) public String getPageAndRowCount() { return pageAndRowCount; }
Иногда возникает необходимость, выполнив часть действия, дождаться выполнения других действий и только после этого, выполнить завершающую часть действия.
Данная функциональность реализуется с помощью связанных действий. Реализуется
она следующим образом:
После выполнения метода execute
действия, имеющего связанные действия, framework при первом же выполнении
одного из связанных действий вызывает метод
afterLinkedActionExecute
Для того чтобы создать действие необходимо создать новый класс
реализующий интерфейс org.weda.action.Action
и затем зарегистрировать действие в точке конфигурации
org.weda.action.Actions
Задача конфигураци - регистрация действий
Структура:
<action ...> <parameters> <parameter .../> </parameters> <target ...> <object .../> </target> <linked-action .../> </action>
Элементы конфигурации:
Название элемента | Описание |
---|---|
action | Регистрирует действие |
Атрибуты элемента
Атрибут | Описание | Может быть пустым? |
---|---|---|
name | Уникальное имя действия. Имя отображается в названии кнопки действия | Нет |
actionClass | Класс реализующий действие | Нет |
description | Краткое описание действия. Появляется в виде всплывающей подсказки при наведении мышки на кнопку действия | Да |
targetFrame | Название фрейма в котором будет отображен результат действия | Да |
accessKey | Возвращает символ при нажатии на который вместе с клавишей Alt (на PC платформе) будет выполнено действие | Да |
Название элемента | Описание |
---|---|
parameter | Статически задает значение параметра действия |
Атрибуты элемента
Атрибут | Описание | Может быть пустым? |
---|---|---|
name | Имя параметра | Нет |
value | Значение параметра | Нет |
Название элемента | Описание |
---|---|
target | Определяет объекты на которые будет нацелено действие |
Атрибуты элемента
Атрибут | Описание | Может быть пустым? |
---|---|---|
targetClass | Класс объекта на который нацеливается действие | Нет |
Название элемента | Описание |
---|---|
object | Задает имя объекта на который должно нацеливаться действие |
Атрибуты элемента
Атрибут | Описание | Может быть пустым? |
---|---|---|
name | Имя объекта | Нет |
Название элемента | Описание |
---|---|
linked-action | Определяет действия связанные с данным |
Атрибуты элемента
Атрибут | Описание | Может быть пустым? |
---|---|---|
actionClass | Класс связываемого действия | Нет |
cancelAction | Если установить в true то связанное
действие будет считаться отменяющим.
|
Нет |
Пример конфигурации:
<contribution configuration-id="org.weda.action.Actions"> <action actionClass="actions.ObjectSourcePageValueEditorAction" name="..." description="message:description" > <target targetClass="org.weda.tapestry.component.BaseEditor"/> <linked-action actionClass="actions.ObjectSourceSelectAction"/> <linked-action actionClass="actions.ObjectSourceCancelSelectAction" cancelAction="true"/> </action> <action actionClass="actions.ObjectSourceRefreshAction" name="message:name" description="message:description" > <target targetClass="impl.ObjectSourceImpl"/> </action> </contribution>