Accesseurs

Les accesseurs sont des Addons permettant de lire et / ou écrire des données. Ils sont décrits par l’interface mère IAccessor et les deux interfaces filles IReadAccessor et IWriteAccessor.

MRules fournit un panel d’accesseurs permettant de répondre à de nombreux cas d’utilisation :

AVAILABLE : Vérifie qu’une propriété des beans d’entrée / sortie est accessible. Retourne un booléen. S’utilisera essentiellement en tant que condition, grâce au wrapping automatique.

ABS : Calcule la valeur absolue d’un ou plusieurs nombre(s).

CAST : Permet de forcer la transformation d’une donnée vers un type spécifié.

COALESCE : Donne la première valeur non nulle parmi une liste de valeur.

CONCATENATE : Permet de concaténer des chaînes de caractères.

CONDCOUNT : Permet de compter le nombre de conditions validées ou non parmi une liste de condition.

CONDWRAPPER : Permet de récupérer sous forme de valeur le résultat de l’évaluation d’une condition. Cet Accessor est instancié de façon automatique.

COUNT : permet de compter les items d’une collection, éventuellement répondant à une condition.

DATEDIFF : Permet de calculer la différence entre deux dates. L’unité doit être précisée : « Y » (Année), « M » (Mois), « D » (Jour), « h » (Heure), « m » (Minute), « s » (Seconde), « z » (Milli).

DATEOP : Permet d’ajouter (ou soustraire) une durée à une date. Cette durée peut être composée de plusieurs éléments : Année, Mois, Jour, Heure, Minute, Seconde, Milli.

EXEWRAPPER : Permet de récupérer la valeur retournée par un exécutable. Cet Accessor est instancié de façon automatique.

FILTER : Permet de filtrer les éléments d’une collection selon une ou plusieurs condition.

FORMAT : Permet de formater une String, d’une manière similaire à l’utilitaire Java Message Format.

ITERATE : Permet d’itérer sur une collection, un tableau, etc …

MAPENTRIES : Retourne une Collection de toutes les entrées d’une Map.

MAPKEYS: Retourne une Collection de toutes les clés d’une Map.

MAPVALUES : Retourne une Collection de toutes les valeurs d’une Map.

MIN / MAX : Retourne la / les valeur(s) minimale(s) / maximale(s) dans une collection, en donnant la possibilité de filtrer les éléments et de préciser la condition de comparaison.

NEW : Permet d’instancier un nouvel objet.

NULLIFEMPTY : Renvoie la valeur « nulle » si la propriété lue est vide (chaine de caractères, Collection, Map ou tableau).

PROPERTY : Permet d’accéder à une propriété ou sous propriété de l’un des beans d’entrée ou d’une variable, en lecture ou en écriture.

SEARCH : Permet de trouver le premier item d’une collection répondant à une condition

SIZE : Donne la taille d’une collection, d’une chaîne de caractère, d’un tableau, etc …

SUBPART : Donne une sous-partie d’une collection, d’une chaîne de caractère, d’un tableau, etc …

TERNARY : Permet, selon le résultat d’évaluation d’une condition, de retourner une valeur ou une autre.

VALUE : Permet de spécifier une constante.

VALUES : Permet de spécifier une collection de valeurs (constantes ou non).

VPROPERTY : Permet d’accéder aux propriétés (input / output) avec un nom dynamique (i.e. non connu à la compilation).

Les accesseurs arithmétiques permettent d’effectuer des opérations mathématiques simples. Ils peuvent être utilisés sur 1 à N valeurs. Ils sont détaillés ci-après.

ADD : Permet d’effectuer une somme de nombres.

AVERAGE : Permet de calculer la valeur moyenne, potentiellement coefficientée, d’un ensemble de nombres.

DIVIDE : Permet d’effectuer une division.

MOD : Permet de calculer un modulo.

MULTIPLY : Permet d’effectuer une multiplication.

POW : Permet de calculer un exposant.

ROUND : Permet d’effectuer un arrondi.

SUBTRACT : Permet d’effectuer une soustraction.

SINGLE_MATH: Permet d’effectuer une opération mathématique unitaire, définie par un opérateur mathématique.

Les accesseurs peuvent être combinés et imbriqués pour obtenir la valeur nécessaire. Il sont responsable de transformer la valeur reçue pour qu’elle soit conforme à l’attendu (i.e. Pour écrire le booléen « true » sous sa forme primitive dans un Objet de sortie, si la valeur reçue est de type chaîne de caractères elle devra automatiquement être transformée).