1 package org.weda.action; 2 3 import java.util.List; 4 import java.util.Set; 5 import org.weda.message.Messages; 6 7 /**Цель: предосталение инфмации о действии. 8 * 9 * @author tim 10 */ 11 public interface ActionDescriptor { 12 public void init() throws ActionDescriptorException; 13 /**Метод возвращает название действия. 14 */ 15 public String getName(); 16 /**Метод возвращет краткое описание действия. 17 */ 18 public String getDescription(); 19 /**Метод возвращает класс действия. 20 */ 21 public Class getActionClass(); 22 /**Метод возвращает символ при нажатии на который вместе с клавишей 23 * Alt (на PC платформе) будет выполнено действие описываемое данным 24 * дескриптором. 25 */ 26 public String getAccessKey(); 27 /**Метод возвращает описание свойств значения которых нужно установить 28 * или прочитать перед выполнением действия. 29 */ 30 public List<ActionParameter> getActionParameters(); 31 /**Метод вернет описание параметра по его имени. 32 * @throws ActionDescriptorException если в действии нет указаного параметра. 33 */ 34 public ActionParameter getActionParameter(String name) 35 throws ActionDescriptorException; 36 /**Метод возвращает имя фрейма в котором будет отображен результат 37 * действия. 38 */ 39 public String getTargetFrame(); 40 /**Метод устанавливает описание свойств значения которых нужно установить 41 * перед выполнением действия. 42 */ 43 public void addActionParameter(ActionParameter actionParameter); 44 /**Метод возвращает список классов над которыми действие может 45 * быть выполнено. 46 */ 47 public Set<ActionTargetClass> getTargetClasses(); 48 /**Метод возвращает действия связанные с данным. 49 */ 50 public List<LinkedAction> getLinkedActions(); 51 /**Метод устанавливает объект дающий доступ к локализированным сообщениям 52 * в разрезе класса действия ({@link #getActionClass()). Т.е. 53 * <code>messages</code> является подмножеством сообщений 54 * <code>actions:action_class</code> 55 */ 56 public void setMessages(Messages messages); 57 /**Метод добавляет пару свойство действия, значение. Значения свойств 58 * будут установлены для действия если вызвать метод 59 * {@link #setActionPropertiesValues} 60 */ 61 public void addActionParameterValue(ActionParameterValue propertyValue); 62 /** 63 * Метод устанавливает значения свойств объекта действия. 64 * 65 * @see #addActionPropertyValue(ActionParameterValue) 66 */ 67 public void setActionParametersValues(Object action) 68 throws ActionDescriptorException; 69 }