Criar uma condição usando o pacote SDK

Ao usar o Automation 360, você pode criar uma condição com o pacote SDK.

Como usar uma condição

Se e Loop são constructos ramificados no Automation 360. Eles são usados para executar uma sequência de ações quando uma condição é definida para true. Uma condição é usada junto com os pacotes Se e Loop. Uma condição toma um conjunto de entradas e retorna um valor booliano.

Anotações necessárias

Para criar uma condição, são necessárias as seguintes anotações:

Anotação Utilização
BotCommand Use a anotação BotCommand com a condição como commandType. Isso garante que o objeto Java simples antigo (POJO - Plain Old Java Object) seja adequado para a criação de uma condição Automation 360.
CommandPkg Esses valores são utilizados na criação de um pacote. Forneça um nome, rótulo e descrição para a anotação.
Idx Anote todos os parâmetros e variáveis de membros que são necessários e ajudar na verificação de validação, ou eles podem ser exibidos na interface para a entrada. Forneça o índice (Idx) e o tipo.
Pkg Anote todos os parâmetros e variáveis de membros que serão mostrados na interface. Essa anotação será ignorada se não for acompanhada por Idx.
ConditionTest O método que tem que ser chamado para testar a condição. Deve retornar um valor booleano. Se o método aceita parâmetros, então anote-os com Idx.

Exemplo de caso de uso

O caso de uso a seguir verifica se o número dado é maior do que o outro número.

  1. Crie a classe POJO com a lógica empresarial:
    public class IsGreater {
    
    	public Boolean checkGreater(Double first, Double checkAgainst) {
    		return first > checkAgainst;
    	}
    
    }
  2. Anote a classe do POJO para habilitá-la para a condição Automation 360 e para criar o pacote:
    @BotCommand(commandType = Condition)
    @CommandPkg(label = "Is greater condition", name = "IsGreater",
    	description = "Checks if the given number is greater than the other.", node_label = "{{first}} > {{checkAgainst}} ")
    public class IsGreater {
    	public Boolean checkGreater(Double first, Double checkAgainst) {
    		return first > checkAgainst;
    	}
    }
  3. Anote o método checkGreater para indicar que este método deve ser usado como método de comparação.
    @ConditionTest
    public Boolean checkGreater(Double first, Double checkAgainst) {
    	return first > checkAgainst;
    }

    Cada condição deve ter exatamente um método de condição de teste.

  4. Anotar os parâmetros do método checkGreater com Idx e Pkg.

    Adicione @NotEmpty para garantir que o valor não seja nulo.

    @ConditionTest
    public Boolean checkGreater(
    	@Idx(index = "1", type = AttributeType.NUMBER) @Pkg(label = "Number to check") @NotEmpty Double first,
    
    	@Idx(index = "2", type = AttributeType.NUMBER) @Pkg(label = "Number to compare against") @NotEmpty Double checkAgainst) {
    
    	return first > checkAgainst;
    }

    O número do tipo de atributo retorna um Double.