Учебники

Гуава — класс предварительных условий

Предварительные условия предоставляют статические методы для проверки того, что метод или конструктор вызывается с правильным параметром или нет. Он проверяет предварительные условия. Его методы выдают IllegalArgumentException при сбое.

Декларация класса

Ниже приводится объявление для класса com.google.common.base.Preconditions.

@GwtCompatible
public final class Preconditions
   extends Object

Методы класса

Sr.No Метод и описание
1

static void checkArgument (логическое выражение)

Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.

2

static void checkArgument (логическое выражение, объект errorMessage)

Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.

3

static void checkArgument (логическое выражение, String errorMessageTemplate, Object. errorMessageArgs)

Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.

4

static int checkElementIndex (индекс int, размер int)

Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера.

5

static int checkElementIndex (индекс int, размер int, строка String)

Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера.

6

static <T> T checkNotNull (ссылка T)

Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.

7

static <T> T checkNotNull (ссылка T, объект errorMessage)

Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.

8

static <T> T checkNotNull (ссылка T, строка errorMessageTemplate, Object … errorMessageArgs)

Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.

9

static int checkPositionIndex (int index, int size)

Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера.

10

static int checkPositionIndex (int index, int size, String desc)

Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера.

11

static void checkPositionIndexes (int start, int end, int size)

Гарантирует, что начало и конец задают правильные позиции в массиве, списке или строке размера и располагаются по порядку.

12

static void checkState (логическое выражение)

Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.

13

static void checkState (логическое выражение, объект errorMessage)

Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.

14

static void checkState (логическое выражение, String errorMessageTemplate, Object … errorMessageArgs)

Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.

static void checkArgument (логическое выражение)

Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.

static void checkArgument (логическое выражение, объект errorMessage)

Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.

static void checkArgument (логическое выражение, String errorMessageTemplate, Object. errorMessageArgs)

Обеспечивает истинность выражения, включающего один или несколько параметров, вызывающему методу.

static int checkElementIndex (индекс int, размер int)

Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера.

static int checkElementIndex (индекс int, размер int, строка String)

Гарантирует, что индекс указывает допустимый элемент в массиве, списке или строке размера.

static <T> T checkNotNull (ссылка T)

Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.

static <T> T checkNotNull (ссылка T, объект errorMessage)

Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.

static <T> T checkNotNull (ссылка T, строка errorMessageTemplate, Object … errorMessageArgs)

Гарантирует, что ссылка на объект, переданная в качестве параметра вызывающему методу, не равна нулю.

static int checkPositionIndex (int index, int size)

Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера.

static int checkPositionIndex (int index, int size, String desc)

Гарантирует, что индекс указывает допустимую позицию в массиве, списке или строке размера.

static void checkPositionIndexes (int start, int end, int size)

Гарантирует, что начало и конец задают правильные позиции в массиве, списке или строке размера и располагаются по порядку.

static void checkState (логическое выражение)

Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.

static void checkState (логическое выражение, объект errorMessage)

Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.

static void checkState (логическое выражение, String errorMessageTemplate, Object … errorMessageArgs)

Гарантирует истинность выражения, включающего состояние вызывающего экземпляра, но не затрагивающего параметры вызывающего метода.

Унаследованные методы

Этот класс наследует методы из следующего класса —

  • java.lang.Object

Пример класса предварительных условий

Создайте следующую Java-программу, используя любой редактор по вашему выбору, скажем, 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;
   }
}

Проверьте результат

Скомпилируйте класс с помощью компилятора javac следующим образом:

C:\Guava>javac GuavaTester.java

Теперь запустите GuavaTester, чтобы увидеть результат.

C:\Guava>java GuavaTester

Смотрите результат.