Class CardinalityHelper

java.lang.Object
org.nuiton.util.CardinalityHelper

public class CardinalityHelper
extends java.lang.Object
Une classe avec des méthodes utiles sur les cardinalités : parser une cardinalité parseCardinalite(String, boolean) afficher une cardinité printCardinalite(StringBuilder, String, int, int, boolean, String, String, String, String) et pour tester des cardinalités : isMandatory(int), savoir si une cardinalité est obligatoire à partir de son min. isRepetable(int), savoir si une cardinalité est répétable à partir de son max. isMaxBounded(int), savoir si une cardinalité est bornée sur son max à partir de son max. isDefaultMandatory(int, int), savoir si la cardinalité est la cardinalité obligatoire par défaut {1}. isDefaultOptional(int, int), savoir si la cardinalité est la cardinalité optionel par défaut {0,1}. isAvailable(int, int), savoir si il reste encore des occurrences disponibles sur une cardianlité à partir d'un nombre d'oocurrence et du max de la cardinalité.
Author:
Tony Chemit - chemit@codelutin.com
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static java.util.regex.Pattern PATTERN_BOUNDED
    XXX {n,m} n est un entier, m est un entier ou *
    static java.util.regex.Pattern PATTERN_EXTACLY
    XXX {n} n est un entier
    static java.util.regex.Pattern PATTERN_NO_MAX_BOUND
    XXX + ou XXX *
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected CardinalityHelper()  
  • Method Summary

    Modifier and Type Method Description
    static int getDefaultMin​(boolean mandatory)
    Retourne le min par défault d'une cardinalité à partir du critère obligatoire ou non.
    static boolean isAvailable​(int current, int max)
    Indique si on n'a pas encore atteint la borne max d'une cardinalité à partir de son max et d'un nombre d'occurrences déjà atteint.
    static boolean isDefaultMandatory​(int min, int max)
    Indique si une cardinalité est la cardinalité obligatoire par défaut {1}
    static boolean isDefaultOptional​(int min, int max)
    Indique si une cardinalité est la cardinalité optionel par défaut {0,1}
    static boolean isMandatory​(int min)
    Indique si une cardinalité est obligatoire à partir de son min
    static boolean isMaxBounded​(int max)
    Indique si une cardinalité est majorée à partir de son max
    static boolean isRepetable​(int max)
    Indique si une cardinalité est répétable à partir de son max
    static java.lang.Object[] parseCardinalite​(java.lang.String txt, boolean mandatory)
    Parse la cardinalite à la fin d'un texte.
    static void printCardinalite​(java.lang.StringBuilder sb, java.lang.String txt, int min, int max, boolean mandatory, java.lang.String mo, java.lang.String mc, java.lang.String oo, java.lang.String oc)
    Imprime dans le builder, le txt + une cardinalité.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • PATTERN_NO_MAX_BOUND

      public static final java.util.regex.Pattern PATTERN_NO_MAX_BOUND
      XXX + ou XXX *
    • PATTERN_EXTACLY

      public static final java.util.regex.Pattern PATTERN_EXTACLY
      XXX {n} n est un entier
    • PATTERN_BOUNDED

      public static final java.util.regex.Pattern PATTERN_BOUNDED
      XXX {n,m} n est un entier, m est un entier ou *
  • Constructor Details

  • Method Details

    • isDefaultMandatory

      public static boolean isDefaultMandatory​(int min, int max)
      Indique si une cardinalité est la cardinalité obligatoire par défaut {1}
      Parameters:
      min - le min de la cardinalité à tester
      max - le max de la cardinalité à tester
      Returns:
      true si min==1 et max=1
    • isDefaultOptional

      public static boolean isDefaultOptional​(int min, int max)
      Indique si une cardinalité est la cardinalité optionel par défaut {0,1}
      Parameters:
      min - le min de la cardinalité à tester
      max - le max de la cardinalité à tester
      Returns:
      true si min==0 et max==1
    • isMandatory

      public static boolean isMandatory​(int min)
      Indique si une cardinalité est obligatoire à partir de son min
      Parameters:
      min - le min de la cardinalité à tester
      Returns:
      true si min>0
    • isMaxBounded

      public static boolean isMaxBounded​(int max)
      Indique si une cardinalité est majorée à partir de son max
      Parameters:
      max - le max de la cardinalité à tester
      Returns:
      true si max≠-1
    • isRepetable

      public static boolean isRepetable​(int max)
      Indique si une cardinalité est répétable à partir de son max
      Parameters:
      max - le max de la cardinalité à tester
      Returns:
      true si max>0 || max==-1
    • isAvailable

      public static boolean isAvailable​(int current, int max)
      Indique si on n'a pas encore atteint la borne max d'une cardinalité à partir de son max et d'un nombre d'occurrences déjà atteint.
      Parameters:
      current - le nombre d'occurence actuel
      max - la borne max de la cardinalité
      Returns:
      true si la cardinalité n'a pas atteint sa borne max
    • getDefaultMin

      public static int getDefaultMin​(boolean mandatory)
      Retourne le min par défault d'une cardinalité à partir du critère obligatoire ou non.
      Parameters:
      mandatory - le critère à tester
      Returns:
      1 si obligatoire, 0 sinon.
    • parseCardinalite

      public static java.lang.Object[] parseCardinalite​(java.lang.String txt, boolean mandatory)
      Parse la cardinalite à la fin d'un texte.
      Parameters:
      txt - la valeur dont on cherche la cardinalité
      mandatory - si vrai, valeurs par default {1}, sinon {0,1}
      Returns:
      un tableau contenant 3 object : le texte donné sans les informations de cardinalité, la répétitionMin, la répétitionMax.
    • printCardinalite

      public static void printCardinalite​(java.lang.StringBuilder sb, java.lang.String txt, int min, int max, boolean mandatory, java.lang.String mo, java.lang.String mc, java.lang.String oo, java.lang.String oc)
      Imprime dans le builder, le txt + une cardinalité.
      Parameters:
      sb - le builder
      txt - le txt à imprimer
      min - la caridnalité min
      max - la cardinalité max
      mandatory - pour indiquer dans quel cas on affiche la cardinalité : si elle correspond aux valeurs par défaut de mandatory {1} ou optionel {0,1}, pas d'impression.
      mo - le caractère ouvrant pour un object obligatoire
      mc - le caractère fermant pour un object obligatoire
      oo - le caractère ouvrant pour un object optionel
      oc - le caractère fermant pour un object optionel