Aria

Apache Derby – tutorial

Apache Derby: operator użytkownika XOR

Funkcja XOR (alternatywa rozłączna albo… albo…)

Zadanie programistyczne

Lekarz potrzebuje funkcji pozwalającej na śledzenie zmian stanu pacjentów.

Rozwiązanie

Musimy napisać metodę xor, zwracającą true wtedy i tylko wtedy, gdy argumenty są różne. Metoda ta została umieszczona w klasie DerbyUtil.

public static boolean xor(boolean p, boolean q) {
return (p || q) && !(p && q);
}

Musimy zadeklarować funkcję w bazie Derby (skryptr 090.sql)

CREATE FUNCTION XOR(p BOOLEAN, q BOOLEAN)
RETURNS BOOLEAN
PARAMETER STYLE JAVA
NO SQL
LANGUAGE JAVA
EXTERNAL NAME 'aderby.DerbyUtil.xor';

Napisać klasę testującą (R090_XOR)

Przetestować przykład.

1 true
2 false
3 true
4 true
5 false
6 true
7 false
8 false
9 true
10 true
11 false
12 false
13 true
14 true
15 true
16 false
17 false

Pliki do ściągnięcia

R090_XOR.zip (klasa)

r090.zip (skrypt)

Aktualny (tworzony narastająco) plik module-info.java

Aktualny (tworzony narastająco) plik DerbyUtil.java

Pliki tworzone narastająco zastępują poprzednie pliki o tej samej nazwie i działają dla wszystkich wcześniej opublikowanych przykładów we wszystkich wpisach w projekcie. W przypadku pliku module-info.java może być potrzebne skreślenie niepotrzebnych wpisów.