Package org.nuiton.util
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.PatternPATTERN_BOUNDEDXXX {n,m} n est un entier, m est un entier ou *static java.util.regex.PatternPATTERN_EXTACLYXXX {n} n est un entierstatic java.util.regex.PatternPATTERN_NO_MAX_BOUNDXXX + ou XXX * -
Constructor Summary
Constructors Modifier Constructor Description protectedCardinalityHelper() -
Method Summary
Modifier and Type Method Description static intgetDefaultMin(boolean mandatory)Retourne le min par défault d'une cardinalité à partir du critère obligatoire ou non.static booleanisAvailable(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 booleanisDefaultMandatory(int min, int max)Indique si une cardinalité est la cardinalité obligatoire par défaut {1}static booleanisDefaultOptional(int min, int max)Indique si une cardinalité est la cardinalité optionel par défaut {0,1}static booleanisMandatory(int min)Indique si une cardinalité est obligatoire à partir de son minstatic booleanisMaxBounded(int max)Indique si une cardinalité est majorée à partir de son maxstatic booleanisRepetable(int max)Indique si une cardinalité est répétable à partir de son maxstatic java.lang.Object[]parseCardinalite(java.lang.String txt, boolean mandatory)Parse la cardinalite à la fin d'un texte.static voidprintCardinalite(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é.
-
Field Details
-
PATTERN_NO_MAX_BOUND
public static final java.util.regex.Pattern PATTERN_NO_MAX_BOUNDXXX + ou XXX * -
PATTERN_EXTACLY
public static final java.util.regex.Pattern PATTERN_EXTACLYXXX {n} n est un entier -
PATTERN_BOUNDED
public static final java.util.regex.Pattern PATTERN_BOUNDEDXXX {n,m} n est un entier, m est un entier ou *
-
-
Constructor Details
-
CardinalityHelper
protected CardinalityHelper()
-
-
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é à testermax- le max de la cardinalité à tester- Returns:
truesi 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é à testermax- le max de la cardinalité à tester- Returns:
truesi 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:
truesi 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:
truesi 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:
truesi 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 actuelmax- la borne max de la cardinalité- Returns:
truesi 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:
1si 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 buildertxt- le txt à imprimermin- la caridnalité minmax- la cardinalité maxmandatory- 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 obligatoiremc- le caractère fermant pour un object obligatoireoo- le caractère ouvrant pour un object optioneloc- le caractère fermant pour un object optionel
-