1 package org.weda.action;
2
3 import java.util.List;
4
5 /**Цель: хранение и выполнение действий
6 *
7 * @author tim
8 */
9 public interface ActionRegistry {
10 /**Метод возвращает список состояний действий досупных для указанного
11 * целевого объекта. Состояния глобальных действий будут
12 * присутствовать в списке в том и только том случае если целевой объект
13 * реализует интерфейс {@link GlobalActionsProvider}.
14 * @param targetObject целевой объект
15 */
16 public List<ActionState> getActionsStates(
17 ActionContainer targetObject, Class targetClass)
18 throws ActionRegistryException;
19 /**Метод вернет <code>TRUE</code> если в реестре есть действия
20 * зарегистрированные для целевого класса. Если целевой класс реализует
21 * интерфейс {@link GlobalActionsProvider} тогда метод вернет <code>TRUE
22 * </code> если в реестре есть хотя бы одно глобальное действие.
23 * @param targetClass целевой класс.
24 */
25 public boolean hasRegisteredActions(
26 Class targetClass, ActionContainer targetObject);
27 /**Метод выполняет действие.
28 */
29 public ExecutedActionInfo executeAction(ActionExecutionContext context)
30 throws ActionRegistryException;
31 /**Метод возвращает информацию о последнем выполненном действии.
32 */
33 public ExecutedActionInfo getLastExecutedActionInfo();
34 /**Метод добавляет слушателя выполнения действий к реестру.
35 */
36 public void addActionListener(ActionListener listener);
37 /**Метод удаляет слушателя выполнения действий из реестра.
38 */
39 public boolean removeActionListener(ActionListener listener);
40 }