Lea y revise la documentación de Automation Anywhere

Automation Anywhere Automation 360

Cerrar contenidos

Contenidos

Abrir contenidos

Crear un iterador usando el paquete SDK

  • Actualizado: 2021/01/07
    • Automation 360 v.x
    • Crear
    • Espacio de trabajo de RPA

Crear un iterador usando el paquete SDK

En Automation 360, puede crear un iterador con el paquete SDK. Un iterador se utiliza para pasar por varios objetos de tipo similar y se utiliza con el Loop paquete. Consta de dos métodos, el siguiente y el siguiente, que devuelven el objeto real y un valor booleano.

Anotaciones requeridas

Cuando se utiliza el iterador, el siguiente método devuelve el siguiente valor disponible. Si no hay más valores disponibles, se muestra una excepción. El método hasNext comprueba otros valores y devuelve falso si no hay más valores disponibles. En Automation 360, cuando se ejecuta el bucle, se llama primero a hasNext() y luego a () sólo si hasNext() devolvió un valor verdadero.

Para crear un iterador, se requieren las siguientes anotaciones.

Anotación Uso
Comando de bots Utilice la anotación de BotCommand con un iterador como CommandType. Esto garantiza que el objeto Java antiguo simple (POJO) sea elegible para crear un Automation 360 iterador.
Paq.Comando Al crear un paquete, proporcione un nombre, una etiqueta y una descripción para la anotación.
[EMPTY] Anote todos los parámetros y variables de miembros que se requieren y ayude con la verificación de validación, o se pueden mostrar en la interfaz para la entrada. Proporcione el Idx y el tipo.
Paq. Anote todos los parámetros y variables de miembros que se mostrarán en la interfaz. Esta anotación se ignorará si no está acompañada por el Idx.
Tienesiguiente El método que debe solicitarse para probar si la iteración tiene más elementos (devuelve verdadero si el siguiente() devuelve un elemento en lugar de arrojar una excepción). Debe devolver un valor booleano.

Si el método acepta parámetros, deben anotarse con el Idx. El método hasNext lo verifica y devuelve falso si no hay más valores disponibles. En Automation 360, cuando Loop se ejecuta, se llama primero a hasNext(). next() se llama solo si hasNext() devuelve un valor verdadero.

Siguiente El método devuelve el siguiente valor disponible en la iteración. El tipo de devolución es un valor. Si no hay más valor disponible, se muestra una excepción.
Ejemplo de caso de uso

El ejemplo de caso de uso se repite a través del número de veces, por ejemplo, para (int i=0; <n; i++I) Java construct. Acepta el valor de n de cuando Bot Creator se crea bot el .

  1. Cree la clase POJO con la lógica comercial.

    Asegúrese de que el POJO tenga un método y devuelva un valor booleano. Esto actuará como el método de comparación.

    public class IteratorTypeDemo {
    
    	private Double times = 10 d;
    	private Double counter = 0 d;
    
    	public boolean hasNext() {
    		return counter < times;
    	}
    
    	public Value < Double > next() throws Exception {
    		if (counter >= times)
    			throw new Exception("Counter '" + counter + "' is exceed the times limit '" + times + "'");
    
    		counter++;
    		NumberValue result = new NumberValue();
    		result.set(counter);
    		return result;
    	}
    
    	public void setTimes(Double times) {
    		this.times = times;
    	}
    
    }
    
  2. Anote la clase POJO para habilitarla para el Automation 360 iterador y para crear un paquete.
    @BotCommand(commandType = CommandType.Iterator)
    @CommandPkg(return_label = "Return the value in variable", node_label = ": {{times}} times",
    	label = "Iterator demo", description = "Iterate number of times", name = "iteratorTypeDemo", return_type = DataType.NUMBER)
    public class IteratorTypeDemo {
    
    	private Double times = 10 d;
    	private Double counter = 0 d;
    
    	public boolean hasNext() {
    		return counter < times;
    	}
  3. Anotar el método hasNext() y el siguiente() adecuadamente.
    @HasNext
    public boolean hasNext() {
    	return counter < times;
    }
    
    @Next
    public Value < Double > next() throws Exception {
    	if (counter >= times)
    		throw new Exception("Counter '" + counter + "' is exceed the times limit '" + times + "'");
    
    	counter++;
    	NumberValue result = new NumberValue();
    	result.set(counter);
    	return result;
    }

    Los métodos se nombran de manera fácil de usar y están en paralelo con la interfaz del iterador Java. No hay restricciones desde el lado del SDK cuando se nombran métodos.

    En un iterador, no utilice métodos de parámetros, sino que utilice la inyección del fijador.

  4. Anotar las variables con Idx y Paq.

    Agregue @NotEmpty para asegurarse de que el valor no sea nulo y agregue @GreaterThanEqualTo para asegurarse de que el valor siempre sea mayor que 0.

    @Idx(index = "1", type = AttributeType.NUMBER)
    @Pkg(label = "times", default_value = "10", default_value_type = DataType.NUMBER)
    @GreaterThanEqualTo("0")
    @NotEmpty
    @Inject
    private Double times = 10 d;

    El número de tipo de atributo devuelve un doble.

Enviar comentarios