Lire et examiner la documentation Automation Anywhere

Automation Anywhere Automation 360

Fermer les contenus

Contenus

Ouvrir les contenus

Créer un itérateur à l’aide du package SDK

  • Mis à jour le : 1/07/2021
    • Automation 360 v.x
    • Création
    • Espace de travail RPA

Créer un itérateur à l’aide du package SDK

Dans Automation 360, vous pouvez créer un itérateur avec le package SDK. Un itérateur est utilisé pour passer en boucle à travers plusieurs objets de type similaire et est utilisé avec le package Loop (Boucle). Il se compose de deux méthodes, Next et hasNext, qui renvoient l’objet réel et une valeur booléenne.

Annotations requises

Lorsque l’itérateur est utilisé, la méthode suivante renvoie la valeur disponible suivante. Si aucune autre valeur n’est disponible, une exception s’affiche. La méthode hasNext vérifie d’autres valeurs et renvoie faux si aucune autre valeur n’est disponible. Dans Automation 360, lorsque la boucle est exécutée, hasNext() est appelé en premier et next() est appelé uniquement si hasNext() a renvoyé une valeur vraie.

Pour créer un itérateur, les annotations suivantes sont requises.

Annotation Utilisation
BotCommand Utilisez l’annotation BotCommand avec un itérateur comme la commandType. Cela garantit que l’ancien objet Java ordinaire (POJO) est éligible pour la création d’un itérateur Automation 360.
CommandPkg Lors de la création d’un package, fournissez un nom, une étiquette et une description à l’annotation.
Idx Annotez tous les paramètres et variables membres qui sont requis et aidez au contrôle de validation, ou ils peuvent être affichés dans l’interface pour l’entrée. Fournissez l’Idx et le type.
Pkg Annotez tous les paramètres et variables membres qui seront affichés dans l’interface. Cette annotation sera ignorée si elle n’est pas accompagnée de l’Idx.
HasNext La méthode qui doit être appelée pour le test si l’itération a plus d’éléments (retourne vrai si next() renvoie un élément plutôt que de générer une exception). Elle doit renvoyer une valeur booléenne.

Si la méthode accepte les paramètres, ils doivent être annotés avec l’Idx. La méthode hasNext la vérifie et renvoie faux si aucune autre valeur n’est disponible. DansAutomation 360, lorsque Loop (Boucle) est exécuté, hasNext() est appelé en premier. next() est appelé uniquement si hasNext() renvoie une valeur vrai.

Next La méthode renvoie la valeur disponible suivante dans l’itération. Le type de retour est une valeur. Si aucune autre valeur n’est disponible, une exception s’affiche.
Exemple de cas d’utilisation

L’exemple de cas d’utilisation passe par plusieurs boucles, par exemple, pour (int i=0 ; <n; i++I) la construction Java. Il accepte la valeur de n à partir du Créateur de robots lorsque l’robot est créé.

  1. Créez la classe POJO avec la logique métier.

    Assurez-vous que le POJO dispose d’une méthode et renvoie une valeur booléenne. Cela servira de méthode de comparaison.

    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. Annotez la classe POJO pour l’activer pour l’itérateur Automation 360 et pour créer un package.
    @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. Annoter la méthode hasNext() et next() de manière appropriée.
    @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;
    }

    Les méthodes sont nommées de manière facile à utiliser et sont en parallèle avec l’interface de l’itérateur Java. Il n’existe aucune restriction du côté de SDK lors de la dénomination des méthodes.

    Dans un itérateur, n’utilisez pas de méthodes de paramètres, mais utilisez l’injection du setter.

  4. Annotez la variable qui accepte les valeurs avec Idx et Pkg.

    Ajoutez @NotEmpty pour vous assurer que la valeur n’est pas nulle, et ajoutez @GreaterThanEqualTo pour vous assurer que la valeur est toujours supérieure à 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;

    Le numéro du type d’attribut renvoie un Double.

Envoyer le commentaire