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)