package crmdna.common; import crmdna.common.api.APIException; import crmdna.common.api.APIResponse.Status; public class AssertUtils { public static void ensure(boolean condition) { ensure(condition, "Pre condition failure"); } public static void ensure(boolean condition, String messageIfError) { if (!condition) throw new APIException(messageIfError + " (AssertUtils.ensure failed)") .status(Status.ERROR_RESOURCE_INCORRECT); } public static void ensureNotNull(Object obj, String messageIfError) { if (obj == null) throw new APIException(messageIfError + " (AssertUtils.ensureNotNull failed)") .status(Status.ERROR_RESOURCE_INCORRECT); } public static void ensureNotNullNotEmpty(String s, String messageIfError) { if ((s == null) || s.isEmpty()) throw new APIException(messageIfError + " (AssertUtils.ensureNotNull failed)") .status(Status.ERROR_RESOURCE_INCORRECT); } public static void ensureNoNullElement(Iterable<? extends Object> objs) { if (objs == null) throw new APIException("objs itself is null (AssertUtils.ensureNoNullElement failed)") .status(Status.ERROR_RESOURCE_INCORRECT); int index = 0; for (Object obj : objs) { if (obj == null) throw new APIException("Null element found at (zero based) index [" + index + "] (AssertUtils.ensureNoNullElement failed)").status(Status.ERROR_RESOURCE_INCORRECT); } } public static void ensureNotNull(Object obj) { ensureNotNull(obj, "Found null object"); } public static void ensureEqual(int expected, int actual, String messageIfError) { if (expected != actual) { String errMessage = "Expected [" + expected + "] actual [" + actual + "] (AssertUtils.assertEquals failed)"; if (messageIfError != null) { errMessage = messageIfError + ". " + errMessage; } throw new APIException(errMessage).status(Status.ERROR_RESOURCE_INCORRECT); } } public static void ensureEqual(int expected, int actual) { ensureEqual(expected, actual, null); } }