...
Note |
---|
Funkcja musi zawsze być zarejestrowana po stronie serwera oraz może dodatkowo być zarejestrowana po stronie przeglądarki, gdy chcemy, aby była też tam wykorzystywana. |
Rejestracja
...
na serwerze
Rejestracja funkcji dostępnych w systemie odbywa się podczas uruchomienia systemu oraz dynamicznie dla dynamicznych zasobów, takich jak wtyczki. Za rejestrację i przechowywanie funkcji odpowiada
Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.core.function.FunctionRegistry |
---|
|
. Podczas rejestracji wyszukiwane są najpierw wszystkie klasy oznaczone adnotacją @
Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.core.function.annotation.Functions |
---|
|
, następnie w tych klasach wyszukiwane są metody oznaczone adnotacją @
Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.core.function.annotation.Function |
---|
|
i zostają one zarejestrowane jako funkcje.
Poniższy przykład przedstawia definicję prostej funkcji zwracającej wartość wyższej liczby.
Code Block |
---|
language | java |
---|
linenumbers | true |
---|
|
@Functions
public class BasicFunctions
{
@Function
public Integer maxOf( Integer a, Integer b )
{
return Math.max( a, b );
}
} |
Zarejestrowana funkcja posiada nazwę, zwracany typ oraz definicję parametrów ->
Javadoc |
---|
property | javadoc.plusworkflow |
---|
className | com.suncode.pwfl.core.function.Function |
---|
|
.Rejestracja po stronie przeglądarki
Po stronie przeglądarki musimy sami zarejestrować funkcję. W tym celu należy wywołać metodę `register` z
Jsdoc |
---|
property | jsdoc.plusworkflow |
---|
className | PW.core.fn.Functions |
---|
|
Code Block |
---|
|
Functions.register("maxOf", function(a,b){
return Math.max(a,b);
}); |
W tym przypadku zarejestrowaliśmy funkcję podaną jako drugi parametr o nazwie maxOf.
Warning |
---|
Należy pamiętać, że każda funkcja zarejestrowana po stronie przeglądarki musi mieć swój odpowiednik po stronie serwera. |
Wykorzystanie funkcji po stronie serwera
...