Files
perfdb/pdb-utils/src/main/java/org/lucares/utils/Preconditions.java

62 lines
1.7 KiB
Java

package org.lucares.utils;
import java.text.MessageFormat;
import java.util.Objects;
public class Preconditions {
public static void checkEven(final long value, final String message) {
if (value % 2 != 0) {
throw new IllegalStateException(message + ". Was: " + value);
}
}
/**
*
* @param a
* @param b
* @param message formatted with {@link MessageFormat}
* @param args
*/
public static void checkGreater(final long a, final long b, final String message, final Object... args) {
if (a <= b) {
throw new IllegalStateException(MessageFormat.format(message, args) + " Expected: " + a + " > " + b);
}
}
/**
*
* @param a
* @param b
* @param message formatted with {@link MessageFormat}
* @param args
*/
public static void checkGreaterOrEqual(final long a, final long b, final String message, final Object... args) {
if (a < b) {
throw new IllegalStateException(MessageFormat.format(message, args) + " Expected: " + a + " >= " + b);
}
}
public static void checkEqual(final Object actual, final Object expected) {
checkEqual(actual, expected, "expected {0} is equal to {1}", actual, expected);
}
/**
* Check that the given values are equal. The check is done with
* {@link Objects#equals(Object, Object)}
*
* @param actual the actual value
* @param expected the expected value
* @param message formatted with {@link MessageFormat}
* @param args arguments for the message
*/
public static void checkEqual(final Object actual, final Object expected, final String message,
final Object... args) {
if (!Objects.equals(actual, expected)) {
throw new IllegalStateException(
MessageFormat.format(message, args) + " Expected: " + actual + " equals " + expected);
}
}
}