W jaki sposób stworzyć własny moduł jPALIO?

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.