If/ElseIf/Else

As ações If/ElseIf/Else executarão ações se uma condição for satisfeita.

As ações If/ElseIf/Else executam ações aninhadas baseadas em uma ou mais condições mutuamente exclusivas:

  • As condições "If" são sempre verificadas.
  • As condições "ElseIf" serão verificadas apenas se todas as condições "If" e "ElseIf" anteriores não tiverem sido satisfeitas.
  • As ações "Else" não têm nenhuma condição; se nenhuma das condições "If" ou "ElseIf" anteriores foram satisfeitas, as ações "Else" serão executadas automaticamente.

A tabela a seguir mostra os parâmetros para a ação If.

Tabela 1. Parâmetros da ação If
Nome Tipo de dados Necessário Notas
condition JPath Sim A condição a ser avaliada. Não pode ficar vazio.
ações Actions[] Sim A sequência das ações a serem executadas se a condição for verdadeira. Não pode ficar vazio.

A tabela a seguir mostra os parâmetros para a ação ElseIf.

Tabela 2. Parâmetros da ação ElseIf
Nome Tipo de dados Necessário Notas
condition JPath Sim A condição a ser avaliada. Não pode ficar vazio.
ações Actions[] Sim A sequência das ações a serem executadas se a condição for verdadeira. Não pode ficar vazio.

A tabela a seguir mostra os parâmetros para a ação Else.

Tabela 3. Parâmetros da ação Else
Nome Tipo de dados Necessário Notas
ações Actions[] Sim A sequência das ações a serem executadas se nenhuma das condições "If" ou "ElseIf" anteriores forem verdadeiras. Não pode ficar vazio.

Exemplo de XML

Neste exemplo, as ações a seguir são executadas:

  • Se o valor de Estado no local /status for 200, apenas a ação SetStatus que configura o status para uma mensagem INFO "Success" será executada.
  • Se o valor /status for 401, apenas a ação SetStatus que configura o status para uma mensagem ERROR "Authentication Failure" será executada.
  • Se o valor /status for 404, apenas a ação SetStatus que configura o status para uma mensagem ERROR "No Route Exists" será executada.
  • Se o valor /status for qualquer outra coisa, apenas a ação SetStatus final será executada.
<If condition="/status = 200">
    <SetStatus type="INFO" message="Success." />
</If>
<ElseIf condition="/status = 401">
    <SetStatus type="ERROR" message="Authentication Failure." />
</ElseIf>
<ElseIf condition="/status = 404">
    <SetStatus type="ERROR" message="No Route Exists." />
</ElseIf>
<Else>
    <SetStatus type="ERROR" message="An unknown error (${/status}) has occurred." />
</Else>