Amministrazione avanzata > Adattamento di business object > Amministrazione delle regole di inizializzazione degli oggetti > Utilizzo delle regole di inizializzazione oggetto > Algoritmi delle regole > Algoritmi di logica condizionale > Algoritmi di diramazione
  
Algoritmi di diramazione
Di seguito sono descritti gli algoritmi di branch predefiniti.
Algoritmo
Descrizione
wt.rule.algorithm.BooleanBranch
Prende in considerazione un elenco di tre oggetti. Il primo oggetto contenuto in un tag Value deve restituire un valore booleano che indichi all'algoritmo BooleanBranch quale degli altri due oggetti restituire, ciascuno contenuto in un argomento.
wt.rule.algorithm.CaseBranch
È simile a BooleanBranch, tranne per il fatto che la diramazione si verifica quando un case è TRUE. È presente un argomento per ciascun case oltre a un argomento aggiuntivo che identifica il valore di default se nessun case è TRUE.
La sintassi generale per gli algoritmi BooleanBranch è la seguente:
<Value algorithm="wt.rule.algorithm.BooleanBranch">
<Value algorithm="xxx">
:
</Value>
<Arg>yyy</Arg>
<Arg>zzz</Arg>
</Value>
L'algoritmo indicato nel tag Value annidato (identificato con xxx nel formato) può essere qualsiasi algoritmo valido che restituisca un valore booleano. Uno degli oggetti negli argomenti (identificati dai tag Arg e dalle stringhe yyy e zzz) viene utilizzato in base al risultato dell'algoritmo xxx.
La sintassi generale di un algoritmo CaseBranch con tre case è la seguente:
<Value algorithm="wt.rule.algorithm.CaseBranch">
<Value algorithm="xxx1">
:
</Value>
<Arg>yyy1</Arg>
<Value algorithm="xxx2">
:
</Value>
<Arg>yyy2</Arg>
<Value algorithm="xxx3">
:
</Value>
<Arg>yyy3</Arg>
<Arg>yyy4</Arg>
</Value>
Un algoritmo CaseBranch può avere un numero qualsiasi di case. Ogni case dell'algoritmo CaseBranch è costituito da un elemento Value che può essere valutato come TRUE o FALSE e da un argomento immediatamente successivo all'elemento Value. Se l'elemento Value è TRUE, viene utilizzato l'argomento e i tag rimanenti del vincolo non vengono valutati. Se l'elemento Value nel primo case è FALSE, viene valutato il case successivo. La valutazione dei singoli case procede secondo l'ordine con il quale sono riportati nel file fino a quando la valutazione corrente genera un risultato TRUE. Viene utilizzato l'argomento associato al case. Se nessuno dei case specificati è TRUE, viene utilizzato l'ultimo argomento fornito per l'algoritmo CaseBranch.
Nella sintassi generale sopra riportata, i valori che possono essere utilizzati nei tag Arg sono stringhe. Se lo si desidera, i tag Arg possono essere sostituiti da tag Value. L'utilizzo di tag Value annidati in sostituzione dei tag Arg consente di eseguire ulteriori valutazioni all'interno degli argomenti.