Files
interpreteur-lir/src/interpreteurlir/donnees/IdentificateurEntier.java
T
2021-05-09 17:42:30 +02:00

54 lines
1.7 KiB
Java

/*
* IdentificateurEntier.java , 08/05/2021
* IUT Rodez 2020-2021, info1
* pas de copyright, aucun droits
*/
package interpreteurlir.donnees;
import interpreteurlir.InterpreteurException;
/**
* Identificateur d'entier
* @author Nicolas Caminade
* @author Sylvan Courtiol
* @author Pierre Debas
* @author Heia Dexter
* @author Lucas Vabre
*/
public class IdentificateurEntier extends Identificateur {
/**
* Instantiation d'identificateur d'entier
* @param identificateur a instancier
* @throws InterpreteurException si l'identificateur est invalide
*/
public IdentificateurEntier(String identificateur) {
super(identificateur);
if(!isIdentificateurEntier(identificateur)) {
throw new InterpreteurException(identificateur
+ " n'est pas un identificateur"
+ " d'entier");
}
}
/**
* Prédicat attestant la validité de l'identificateur
*
* Un identificateur d'entier est valide si
* - Il contient au maximum 24 caractères
* - Commence obligatoirement par une lettre (majuscule ou minuscule)
* - suivie uniquement de lettres (majuscule ou minuscule) ou de chiffres
*
* @param identificateur à tester
* @return true si l'identificateur est bien un identificateur d'entier
* false sinon
*/
private static boolean isIdentificateurEntier(String identificateur) {
return isLettre(identificateur.charAt(0))
&& isAlphanumerique(identificateur.substring(1));
}
}