Moduł Hetman wspiera implementację procesów przy użyciu mechanizmu jPALIO Hetman Workflow. Metody tego modułu można pogrupować w następujące grupy:
Metody z tej grupy odpowiedzialne są uruchamianie silnika Hetman w kontekście wykonywania i prezentacji procesu. Do tej grupy można zaliczyć następujące metody:
Z kontekstu wykonywania procesu można otrzymać szereg bardzo przydatnych informacji takich jak bieżacy stan procesowanej instancji, czy bieżące przejście. Istnieje możliwość ustawienia dodatkowych parametrów w kontekście wykonywania. Umożliwia to przekazywanie w trakcie wykonywania procesu informacji pomiędzy poszczególnymi komponentami realizującymi dany proces. Do obsługi kontekstu służą następujące metody:
Przykład w jaki sposób można pobrać bieżący stan oraz przejście:
ProcessExecutionContext context = Groovy.module("hetman").getProcessExecutionContext()
context.getCurrentState()
context.getCurrentTransition()
Ustawienie parametrów parametrów kontekstu jest możliwe na dwa sposoby. Pierwszym jest przekazanie parametrów kontekstu do metod odpowiedzialnych za uruchamianie silnika Hetmana: executeProcess, executeTransition.
Drugim sposobem jest ustawienie parametru po pobraniu bieżącego kontekstu. Poniższy przykład obrazuje drugi sposób.
ProcessExecutionContext context = Groovy.module("hetman").getProcessExecutionContext()
context.setParam("test", "some value")
Moduł Hetman udostępnia zestaw metod wspierających tworznie widoków w implementacji procesu.
Poniżej opisano kilka najważniejszych metod.
Moduł Hetman wspiera tworzenie szkieletu implementacji procesu na podstawie wskazanego dokumentu XML z definicją procesu. Aby stworzyć szkielet należy wywołać metodę createProcessTemplate.
Przykładowo dla procesu opisanego w sposób następujący:
<?xml version="1.0" encoding="UTF-8"?>
<process name="sample.process" prefix="sample.process" manager="sample.process.SampleProcessManager">
<states>
<state id="state1">
<transitions>
<transition destination="state2"/>
</transitions>
</state>
<state id="state2">
<transitions>
<transition destination="state3"/>
<transition destination="state4"/>
</transitions>
</state>
<state id="state3">
<transitions>
<transition destination="state4"/>
</transitions>
</state>
<state id="state4"/>
</states>
</process>
zostanie wygenerowany następujący szkielet implementacji procesu: