Kamil Nešetřil

Správa a analýza dat o životním prostředí

Uživatelské nástroje

Nástroje pro tento web


User Defined Java Expressions

Všechny níže uvedené příklady lze uskutečnit např. pomocí kroku Formula syntaxí podobnou vzorečkům v Excelu. Takže tato stránka je poněkud nadbytečná.

User Defined Java Expression je krok, ve kterém uživatel píše vlastní Java výrazy. V případě, že chceme napsat výraz s podmínkou, tak struktura vypadá takto:

podmínka ? pravda : nepravda

V případě, že nepožadujeme podmínku, tak do pole „Java expression“ napíšeme pouze samotný kód bez podmínky. V obou případech se vyhodnocené výrazy ukládají do nového pole vytvořeného v „New field“. Ke všem výrazům je nutné zvolit datový typ ve „Value type“. Příklad User Defined Java Expression, výrazy 1-3 s podmínkou, 4. bez podmínky
Obrázek: Příklad User Defined Java Expressions: výrazy 1--3 s podmínkou, 4. bez podmínky

Příklady User Defined Java Expression

NazevAkce+" "+CisloMereni

Sloučení polí NazevAkce a CisloMereni. Mezi polemi je mezera.

POSUDEK==null? puvod_ozn:puvod_ozn+" "+POSUDEK

Když je pole POSUDEK prázdné, tak do nového pole ulož hodnotu puvod_ozn, jinak před POSUDEK vlož hodnotu puvod_ozn s mezerou.

"-"

Do všech polí vlož spojovník

Double.valueOf(Value_string)

Pole Value_string převede na typ double.

String.valueOf(Value)

Pole Value převede na typ string

FValue.charAt(0) ==('<') ? Character.toString(FValue.charAt(0)):Flag

Získání příznaku. Když se první znak z pole FValue rovná menšítku, tak do nového pole ulož menšítko, jinak nedělej nic.

FValue.charAt(0) ==('<') ? new Double(Double.valueOf(FValue.substring(1)))  : DetectionLimit

Když se první znak z pole FValue rovná menšítku, tak do nového pole vlož tuto hodnotu bez prvního znaku (menšítko) a převeď na double.

FFValue.charAt(0) ==('<') ? new Double(Double.valueOf(FValue.substring(1))/2) : ((Character.isDigit(FValue.charAt(0))==true)?new Double(Double.valueOf(FValue)):null)

Když se první znak z pole FValue rovná menšítku, tak do nového pole vlož tuto hodnotu bez prvního znaku (menšítko), převeď na double a vyděl 2. Jinak, když je první znak v poli číslo, tak toto pole převeď na číslo a ulož, jinak nedělej nic.

ASGI==null ? POSUDEK : ASGI

Když je pole ASGI prázdné, do nového pole ulož hodnotu POSUDEK, jinak ulož hodnotu ASGI.

Poslední úprava: 28.02.2022