Klasą bazową dla wszystkich modułów jPALIO jest klasa palio.modules.core.Module. Aby stworzyć własny moduł należy stworzyć klasę JAVA dziedziczącą po tej klasie.
UWAGA! Klasa modułu musi być umieszczona w pakiecie palio.modules. Jest to warunek konieczny aby moduł był widoczny w jPALIO.
W pierwszym etapie tworzenia modułu klasa modułu powinna wyglądać w następujący sposób:
package palio.modules;
import java.util.*;
import palio.*;
import palio.modules.core.*;
public class MyCustomModule extends Module {
public MyCustomModule(Instance instance, Properties parameters) throws PalioException {
super(instance, parameters);
}
@Override
public String getVersion() {
return "1.0.0";
}
}
Kolejnym krokiem jest zarejestrowanie naszego modułu w Menadżerze Modułów jPALIO oraz określenie jakiego ma być typu (typy zostały opisane we wstępie). Aby to zrobić należy umieścić w klasie następujący blok statyczny:
// Registering myModule as standard type module
static {
ModuleManager.registerModule("myModule", MyCustomModule.class, ModuleManager.MODULE_STANDARD);
}
// Registering myModule as external type module
static {
ModuleManager.registerModule("myModule", MyCustomModule.class, ModuleManager.MODULE_EXTERNAL);
}
WAŻNE! Wielkość liter w nazwie modułu nie ma znaczenia.
Funkjonalności modułu implementowane są w metodach klasy modułu. Należy pamiętać o tym, że tylko metody publiczne będą widoczne. Poniżej przedstawiono przykład prostej metody.
public String echo(String someText) {
return someText;
}
Kompletna klasa modułu:
package palio.modules;
import java.util.*;
import palio.*;
import palio.modules.core.*;
public class MyCustomModule extends Module {
static {
ModuleManager.registerModule("myModule", MyCustomModule.class, ModuleManager.MODULE_STANDARD);
}
public MyCustomModule(Instance instance, Properties parameters) throws PalioException {
super(instance, parameters);
}
@Override
public String getVersion() {
return "1.0.0";
}
public String echo(String someText) {
return someText;
}
}
Tak stworzoną klasę należy skompilować i umieścić ją serwerze. W przypadku mało skomplikowanych modułów moża skopiować skompilowaną klasę do katalogu WEB-INF/classes/palio/modules. Zazwyczaj klasie modułu towarzyszą inne powiązane klasy stąd zalecanym sposobem wgrywania modułu na serwer jest zbudowanie archiwum JAR w którym powinny znaleźć się klasa modułu oraz wszystkie klasy powiązane a następnie wgranie go do katalogu WEB-INF/lib.