Możliwe jest dodanie do systemu akcji zmiennych formularza (AUTO_UPDATE), data chooser'ów (dynamiczne listy, zadań automatycznych, narzędzi systemowych, walidatorów przycisków akceptacji, które zostaną wykryte podczas uruchamiania modułu edytora procesów. Możliwe będzie ich wykorzystanie podczas definiowania poszczególnych komponentów. Konieczne wtedy będzie uzupełnienie tylko konkretnych wartości (najczęściej wybranie zmiennych procesu/formularza z listy).
1. Data chooser (dynamiczna lista):
Klasę będącą data chooser'em umieszczamy w classpath projektu. Oznaczamy ją adnotacją @StandardDataChooser:
@StandardDataChooser( conf = DataChooserExampleConf.class ) public class DataChooserExample implements DataChooser { ... } |
Adnotacja ta posiada właściwość conf, która przechowuje informację o klasie opisującej definicję danego data chooser'a w zależności od wersji językowej (pochodzącej z java.util.Locale np. pl, en). Klasa ta musi implementować interface StandardDataChooserDef. Posiada on następujące metody:
2. Auto update (akcja zmiennej formularza):
Klasę będącą auto update'em umieszczamy w classpath projektu. Oznaczamy ją adnotacją @StandardAutoUpdate:
@StandardAutoUpdate( conf = AutoUpdateExampleConf.class ) public class AutoUpdateExample extends HttpServlet { ... } |
Adnotacja ta posiada właściwość conf, która przechowuje informację o klasie opisującej definicję danego auto update'u w zależności od wersji językowej (pochodzącej z java.util.Locale np. pl, en). Klasa ta musi implementować interface StandardAutoUpdateDef. Posiada on następujące metody:
3. Narzędzia systemowe:
Klasę będącą narzędziem systemowym umieszczamy w classpath projektu. Pozwala dodać narzędzie systemowe w jednym kroku (dodaje aplikację na poziomie procesu i zadania). Wymagane jest tylko określenie aktualnych parametrów w zadaniu. Klasę oznaczamy adnotacją @StandardTool:
@StandardTool( id = "exampletool", name = "Przykladowy", category = "Examples", description = "Opis tool'a", icon = "img/tool.png", type = Type.JAVA_APPLICATION_WITH_TRANSACTION ) public class ToolExample { ... } |
Adnotacja narzędzia systemowego posiada następujące właściwości:
Następnie należy zaimplementować statyczną, publiczą metodę o nazwie execute i oznaczyć jej parametry typu org.enhydra.shark.api.internal.toolagent.AppParameter (o ile posiada) adnotacjami @StandardToolParameter:
public static void execute( @StandardToolParameter( description = "Przykladowy parametr", mode = Mode.IN, type= Type.INTEGER ) AppParameter parameter ) { ... } |
Adnotacja parametru narzędzia systemowego posiada następujące właściwości: