Goyave - Classe de conditions préalables
Les conditions préalables fournissent des méthodes statiques pour vérifier qu'une méthode ou un constructeur est appelé avec le paramètre approprié ou non. Il vérifie les pré-conditions. Ses méthodes lancent une exception IllegalArgumentException en cas d'échec.
Déclaration de classe
Voici la déclaration pour com.google.common.base.Preconditions classe -
@GwtCompatible
public final class Preconditions
extends Object
Méthodes de classe
Sr.Non | Méthode et description |
---|---|
1 | static void checkArgument(boolean expression) Garantit la véracité d'une expression impliquant un ou plusieurs paramètres de la méthode appelante. |
2 | static void checkArgument(boolean expression, Object errorMessage) Garantit la véracité d'une expression impliquant un ou plusieurs paramètres de la méthode appelante. |
3 | static void checkArgument(boolean expression, String errorMessageTemplate, Object. errorMessageArgs) Garantit la véracité d'une expression impliquant un ou plusieurs paramètres de la méthode appelante. |
4 | static int checkElementIndex(int index, int size) Garantit que l'index spécifie un élément valide dans un tableau, une liste ou une chaîne de taille. |
5 | static int checkElementIndex(int index, int size, String desc) Garantit que l'index spécifie un élément valide dans un tableau, une liste ou une chaîne de taille. |
6 | static <T> T checkNotNull(T reference) Garantit qu'une référence d'objet transmise en tant que paramètre à la méthode appelante n'est pas nulle. |
sept | static <T> T checkNotNull(T reference, Object errorMessage) Garantit qu'une référence d'objet transmise en tant que paramètre à la méthode appelante n'est pas nulle. |
8 | static <T> T checkNotNull(T reference, String errorMessageTemplate, Object... errorMessageArgs) Garantit qu'une référence d'objet transmise en tant que paramètre à la méthode appelante n'est pas nulle. |
9 | static int checkPositionIndex(int index, int size) Garantit que l'index spécifie une position valide dans un tableau, une liste ou une chaîne de taille. |
dix | static int checkPositionIndex(int index, int size, String desc) Garantit que l'index spécifie une position valide dans un tableau, une liste ou une chaîne de taille. |
11 | static void checkPositionIndexes(int start, int end, int size) S'assure que le début et la fin spécifient des positions valides dans un tableau, une liste ou une chaîne de taille, et sont dans l'ordre. |
12 | static void checkState(boolean expression) Garantit la véracité d'une expression impliquant l'état de l'instance appelante, mais n'impliquant aucun paramètre de la méthode appelante. |
13 | static void checkState(boolean expression, Object errorMessage) Garantit la véracité d'une expression impliquant l'état de l'instance appelante, mais n'impliquant aucun paramètre de la méthode appelante. |
14 | static void checkState(boolean expression, String errorMessageTemplate, Object... errorMessageArgs) Garantit la véracité d'une expression impliquant l'état de l'instance appelante, mais n'impliquant aucun paramètre de la méthode appelante. |
Méthodes héritées
Cette classe hérite des méthodes de la classe suivante -
- java.lang.Object
Exemple de classe de conditions préalables
Créez le programme Java suivant en utilisant n'importe quel éditeur de votre choix dans say C:/> Guava.
GuavaTester.java
import com.google.common.base.Preconditions;
public class GuavaTester {
public static void main(String args[]) {
GuavaTester guavaTester = new GuavaTester();
try {
System.out.println(guavaTester.sqrt(-3.0));
} catch(IllegalArgumentException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(guavaTester.sum(null,3));
} catch(NullPointerException e) {
System.out.println(e.getMessage());
}
try {
System.out.println(guavaTester.getValue(6));
} catch(IndexOutOfBoundsException e) {
System.out.println(e.getMessage());
}
}
public double sqrt(double input) throws IllegalArgumentException {
Preconditions.checkArgument(input > 0.0,
"Illegal Argument passed: Negative value %s.", input);
return Math.sqrt(input);
}
public int sum(Integer a, Integer b) {
a = Preconditions.checkNotNull(a, "Illegal Argument passed: First parameter is Null.");
b = Preconditions.checkNotNull(b, "Illegal Argument passed: Second parameter is Null.");
return a+b;
}
public int getValue(int input) {
int[] data = {1,2,3,4,5};
Preconditions.checkElementIndex(input,data.length, "Illegal Argument passed: Invalid index.");
return 0;
}
}
Vérifiez le résultat
Compilez la classe en utilisant javac compilateur comme suit -
C:\Guava>javac GuavaTester.java
Exécutez maintenant le GuavaTester pour voir le résultat.
C:\Guava>java GuavaTester
Voyez le résultat.
Illegal Argument passed: Negative value -3.0.
Illegal Argument passed: First parameter is Null.
Illegal Argument passed: Invalid index. (6) must be less than size (5)