org.nuiton.util
Class CardinalityHelper

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

public class CardinalityHelper
extends 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:
tchemit

Field Summary
static Pattern PATTERN_BOUNDED
          XXX {n,m} n est un entier, m est un entier ou *
static Pattern PATTERN_EXTACLY
          XXX {n} n est un entier
static Pattern PATTERN_NO_MAX_BOUND
          XXX + ou XXX *
 
Constructor Summary
protected CardinalityHelper()
           
 
Method Summary
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 Object[] parseCardinalite(String txt, boolean mandatory)
          Parse la cardinalite à la fin d'un texte.
static void printCardinalite(StringBuilder sb, String txt, int min, int max, boolean mandatory, String mo, String mc, String oo, 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 Detail

PATTERN_NO_MAX_BOUND

public static final Pattern PATTERN_NO_MAX_BOUND
XXX + ou XXX *


PATTERN_EXTACLY

public static final Pattern PATTERN_EXTACLY
XXX {n} n est un entier


PATTERN_BOUNDED

public static final Pattern PATTERN_BOUNDED
XXX {n,m} n est un entier, m est un entier ou *

Constructor Detail

CardinalityHelper

protected CardinalityHelper()
Method Detail

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 && 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 if 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 Object[] parseCardinalite(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(StringBuilder sb,
                                    String txt,
                                    int min,
                                    int max,
                                    boolean mandatory,
                                    String mo,
                                    String mc,
                                    String oo,
                                    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


Copyright © 2004-2012 CodeLutin. All Rights Reserved.