Tworzenie obiektu akcji

Obiekt akcji/przejścia wywoływany jest w momencie wysłania formularza przejścia (jeżeli zostały spełnione warunki przejścia). Obiekt ten wykonywany jest także w momencie wywołania metody executeTransition z modułu Hetman. Obiekt ten odpowiedzialny jest za implementację logiki biznesowej związanej z przejściem z obecnego stanu do stanu do którego przynależy dany obiekt przejścia. Obiekt warunku musi zwracać instancję klasy palio.modules.hetman.Result. W przypadku gdy wykonanie obiektu akcji zakończy się niepowodzeniem, stan zgłoszenia nie ulega zmianie. W przypadku gdy w obiekcie przejścia zostanie wyrzucony wyjątek typu palio.modules.hetman.exceptions.BussinessException przejście nie zostanie wykonane, nie zostanie wyświetlony obiekt błędu. Zamiast niego zostanie wyświetlony obiekt prezentacji stanu z ustawionym parametrem dot. informacji o błędzie biznesowym (errorMessage).

Domyślnym kodem obiektu akcji jest <prefix>.<destination state id>.action. Jeżeli chcemy użyć niestandardowego kodu obiektu akcji należy podać kod obiektu w definicji danego przejścia (atrybut action).

Obiekt akcji wywoływany jest z następującymi argumentami:

Przykładowy obiekt akcji (hetman.VERIFICATION_OK.action):

import palio.modules.hetman.*
import palio.modules.hetman.exceptions.*
 
// logika biznesowa akcji
 
// w przypadku gdy wystąpi błąd biznesowy, należy wyrzucić wyjątek BussinessException
throw new BussinessException("Nieprawidłowa wartość ...")
 
return new Result(true);

Dla każdego ze stanów źródłowych istnieje możliwość stworzenia dodatkowych obiektów akcji. Obiekty te są wykonywane po sprawdzeniu warunku, ale przed wykonaniem głównego obiektu akcji. Aby dodatkowe obiekty przejścia zostały automatycznie wykonane przez silnik Hetmana, należy nadawać im kody wg poniższej konwencji:

<prefix>.<destination state id>.<source state id>.action

Dodatkowy obiekt akcji wywoływany jest z następującymi argumentami: