j'ai une classe qui contient 3 attributs final static :
public static final int LAYER1 = 1;
public static final int LAYER2 = 2;
public static final int LAYER3 = 3;
quel est la mani�re la plus �l�gante de s'assurer que d'autres classes
utilisant ces contantes ne sorte pas des clous (valeur non autoris�e),
avec des apppels du style :
objet.methode(4);
alors que methode doit seulement pouvoir �tre utilisable avec seulement
mes valeurs de constantes.
j'ai bien une solution :
public static final int LAYER1 = 1;
public static final int LAYER2 = 2;
public static final int LAYER3 = 3;
private static final int [] layerPossibleValues = {LAYER1, LAYER2,
LAYER3};
avec une m�thode de v�rification de la valeur dans ma classe du style :
public static boolean isValidLayerNumber(int layerNumber) {
for (int i = 0; i < layerPossibleValues.length; i++) {
int layerpossiblevalue = layerPossibleValues[i];
if (layerNumber == layerpossiblevalue)
return true;
}
return false;
}
un peu lourd, s'il faut v�rifier � chaque utilisation,
ou une m�thode d'obtention de valeur pour chaque valeur possible :
public static int getLayer1() {
return LAYER1;
}
mais je pense qu'il doit y avoir mieux. non ?
merci