import java.util.Objects;
public class RuntimeAssert {
public static void assertEnvironment(String condition, String errorMessage) {
try {
if (!condition) {
throw new RuntimeException(errorMessage);
}
} catch (RuntimeException e) {
System.err.println("Runtime assert failed: " + e.getMessage());
e.printStackTrace(); // Print stack trace for debugging
//Handle the exception appropriately, e.g., exit the program, or log the error.
}
}
public static void assertNotNull(Object obj, String message) {
assertEnvironment(obj != null, message);
}
public static void assertNotNullOrEmpty(String str, String message) {
assertEnvironment(Objects.nonNull(str) && !str.isEmpty(), message);
}
public static void assertArrayNotEmpty(Object[] arr, String message) {
assertEnvironment(arr != null && arr.length > 0, message);
}
public static void assertListNotEmpty(java.util.List<?> list, String message) {
assertEnvironment(list != null && !list.isEmpty(), message);
}
public static void assertPositive(int value, String message) {
assertEnvironment(value > 0, message);
}
public static void assertWithinRange(int value, int min, int max, String message) {
assertEnvironment(value >= min && value <= max, message);
}
public static void assertStringMatches(String str, String expected, String message) {
assertEnvironment(str != null && str.equals(expected), message);
}
public static void assertFileExists(String filePath, String message) {
assertEnvironment(java.io.File.exists(new java.io.File(filePath)), message);
}
public static void assertDirectoryExists(String dirPath, String message) {
assertEnvironment(java.io.File.exists(new java.io.File(dirPath)) && java.io.File.isDirectory(new java.io.File(dirPath)), message);
}
public static void assertIntegerInRange(int value, int lowerBound, int upperBound) {
assertEnvironment(value >= lowerBound && value <= upperBound, "Integer value out of range: " + value + ", bounds: " + lowerBound + ", " + upperBound);
}
}
Add your comment