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

Répondre à