Zastępstwa
Adapter: SubstitutionHookAdapter
Interfejs: SubstitutionHook
public interface SubstitutionHook { /** * Metoda wywoływana przed dodaniem zastępstwa do systemu. * * @param userName Login użytkownika dodającego zastępstwo. * @param substitution Zastępstwo, które ma zostać dodane do systemu. * @return true - zastępstwo zostanie dodane do systemu, false - zastępstwo nie zostanie dodane do systemu. */ boolean confirmCreateSubstitution( String userName, Substitution substitution ); /** * Metoda wywoływana po pomyślnym dodaniu zastępstwa do systemu. * * @param userName Login użytkownika dodającego zastępstwo. * @param substitution Zastępstwo dodane do systemu. */ void substitutionAdded( String userName, Substitution substitution ); /** * Metoda filtrująca listę procesów do wybrania podczas definiowania nowego zastępstwa. * * @param userName Login użytkownika definiującego zastępstwo. * @param processes Lista znalezionych procesów. * @return Przefiltrowana lista procesów. */ List<ProcessType> filterProcesses( String userName, List<ProcessType> processes ); /** * Metoda wywoływana jest podczas akceptacji zadania. Określa, czy użytkownik, do którego jest przydzielane kolejne * zadanie może być zastępowany. * * @param userName Login użytkownika zastępowanego. * @param processDefId Id definicji procesu. * @return true - zadanie powinno zostać przydzielone, false - zadanie nie powinno zostać przydzielone. */ boolean shouldAssign( String userName, String processDefId ); /** * Metoda zwraca listę użytkowników, którzy mogą być zastępcami dla {@code substitutedUser}. Wywoływana jest * każdorazowo, gdy z poziomu GUI wybierze się osobę, dla której ma zostać nadane zastępstwo. * * @param userName Login użytkownika definiującego zastępstwo. * @param substitutedUser Login użytkownika zastępowanego. * @return Lista użytkowników. Jeżeli zostanie zwrócona wartość null, to pobrani zostaną wszyscy użytkownicy z * systemu. */ List<User> getSubstitutes( String userName, String substitutedUser ); }
Konfiguracja systemu podczas startu
Adapter: PlusworkflowStartupHookAdapter
Interfejs: PlusworkflowStartupHook
public interface PlusworkflowStartupHook { /** * Metoda wywoływana podczas startu systemu (po konfiguracji systemu) */ public void startup(); }
Transfer przypisanych zadań.
Adapter : AssignmentHookAdapter
Interfejs : AssignmentHook
public interface AssignmentHook { /** * Executed when activities assignment transfer is completed. * * @param processId * @param activityId * @param recipients users and his substitutions to whom activities have been transfered */ public void assignmentTransferred( String processId, String activityId, Set<String> recipients ); }
Dezaktywacja użytkownika.
Adapter : DeactivationHookAdapter
Interfejs : DeactivationHook
public interface DeactivationHook { /** * Executed when user deactivation is completed. <br> * User deactivation will be rollback if this method throws exception. * * @param deactivation all input parameters necessary to execute user deactivation. Includes information like: login * of user to deactivate, target user logins to transfer his tasks etc. */ public void userDeactivated( Deactivation deactivation ); }
Tworzenie użytkownika.
Adapter : UserCreationHookAdapter
Interfejs : UserCreationHook
public interface UserCreationHook { /** * Executed before user creation. * * @param user User to create */ public void beforeUserCreation( User user ); /** * Executed after user creation. * * @param user Created user */ public void userCreated( User user ); }
Modyfikacja InputStream'a podczas wyświetlania dokumentu.
Adapter : ReadFileHookAdapter
Interfejs : ReadFileHook
public interface ReadFileHook { /** * Metoda wywoływana przed wyświetleniem dokumentu w systemie */ OpenedFileContext execute( OpenedFileContext fileContext ); }
Logowanie do systemu.
Adapter : AuthenticationInterceptor
Brak interfejsu, nie jest to hook systemowy.
By interceptor został uruchomiony, jego klasa musi być wskazana w parametrze systemowym Authentication.InterceptorClass.
Jeżeli obiekt interceptora ma być utworzony tylko raz na wszystkie próby logowania (zamiast 1 obiektu na 1 próbę logowania), należy skorzystać z parametru systemowego Authentication.InterceptorClassSingleton.
public class Interceptor extends AuthenticationInterceptor { /** * Metoda wywoływana przed logowaniem do serwera LDAP. */ @Override public void beforeLdapLogin( WorkflowPrincipal principal ) { } /** * Metoda wywoływana przed logowaniem do systemu. */ @Override public void beforeSystemLogin( WorkflowPrincipal principal, LoginType loginType ) { } /** * Metoda wywoływana po zalogowaniu się do systemu. */ @Override public void afterLogin( WorkflowPrincipal principal, LoginType loginType ) { } }