View Javadoc

1   package org.weda.workflow;
2   
3   import java.util.List;
4   import java.util.Stack;
5   import org.weda.action.ActionDescriptor;
6   
7   /**Цель: определить соотвествие выражения шаблону.
8    *
9    * @author tim
10   */
11  public interface Entry {
12      public final static String DEFAULT_ENTRY_NAME="DEFAULT_ENTRY";
13      
14      public void init() throws EntryException;
15      /**Метод должен вернуть <code>true</code> если <code>exptrssion</code>
16       * соотвествует шаблону.
17       *@see #setPattern(String)
18       */
19      public boolean matches(String expression);
20      /**Вернет <code>true</code> если метод {@link #match(String)} возвращает 
21       * <code>true</code> только на точное соответствие (равенство) между именем
22       * и выражением.
23       * @see #setName(String)
24       * @see #match(String)
25       */
26      public boolean isExactMatch();
27      /**Метод возвращает шаблон(имя/идентификатор узла).
28       * @see #setName(String)
29       */
30      public String getName(); 
31      /**Метод устанавливает шаблон. В шаблоне может присутствовать выражения 
32       * выделяющие группы значения которых можно получить с помощью метода
33       * {@link #getValueForGroup(int)}.
34       */
35      public void setName(String pattern);
36      /**Метод возваращет значение для группы выделенной из выражения.
37       * Метод нужно вызывать после метода {@link #match(String)}
38       *@see #match(String)
39       */
40      public List<String> getGroupValues() throws EntryException;
41      /**Выполняет действие.
42       * @Return <code>true</code> если финальный узел (final entry) был найден, 
43       *         иначе <code>false</code>
44       */
45      public boolean operate(Stack<String> expressions)
46          throws EntryException;
47      /**Возвращает <code>true</code> если данный entry является entry по
48       * умолчанию. По умолчанию - <code>false</code>
49       */
50      public boolean isDefaultEntry();
51      /**Если утсановить в <code>true</code> тогда entry является entry 
52       * по умолчанию.
53       */
54      public void setDefaultEntry(boolean defaultEntry);
55      /**Метод устанавливает workflow которому принадлежит entry.
56       */
57      public void setWorkflow(Workflow workflow);
58      /**Метод возвращает контейнер в котором находится entry.
59       */
60      public EntryContainer getContainer();
61      /**Метод устанавливает контейнер в котором находится entry.
62       */
63      public void setContainer(EntryContainer container);
64  }