-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat[utils]: Add ParameterValidator class increasing SoC and SRP
- Loading branch information
Fredrik Marjoni
committed
Mar 24, 2026
1 parent
16b02a1
commit 316d43c
Showing
1 changed file
with
72 additions
and
0 deletions.
There are no files selected for viewing
72 changes: 72 additions & 0 deletions
72
src/main/java/edu/group5/app/utils/ParameterValidator.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| package edu.group5.app.utils; | ||
|
|
||
| import java.math.BigDecimal; | ||
| /** | ||
| * ParameterValidator is a utility class that provides static methods for validating various types of parameters. | ||
| * It includes methods for checking strings, integers, objects, and BigDecimal values to ensure they meet specific | ||
| * criteria such as not being null, not being blank, or being positive. | ||
| * | ||
| */ | ||
| public final class ParameterValidator { | ||
|
|
||
| /** | ||
| * Validates that a string parameter is not null and not blank. | ||
| * @param stringArg the string parameter to validate | ||
| * @param variableName the name of the variable being validated, used in exception messages | ||
| * @throws IllegalArgumentException if the string is null or blank | ||
| */ | ||
| public static final void stringChecker(String stringArg, String variableName) throws IllegalArgumentException { | ||
| nullCheck(stringArg, variableName); | ||
| if (stringArg.isBlank()) { | ||
| throw new IllegalArgumentException(String.format("%s can't be blank", variableName)); | ||
| } | ||
| } | ||
|
|
||
| /** | ||
| * Validates that an integer parameter is not null and is a positive integer. | ||
| * @param intArg the integer parameter to validate | ||
| * @param variableName the name of the variable being validated, used in exception messages | ||
| * @throws IllegalArgumentException if the integer is null or not a positive integer | ||
| */ | ||
| public static final void intChecker(int intArg, String variableName) throws IllegalArgumentException { | ||
| nullCheck(intArg, variableName); | ||
| if (intArg <= 0) { | ||
| throw new IllegalArgumentException(String.format("%s must be a positive integer", variableName)); | ||
| } | ||
| } | ||
|
|
||
| /** | ||
| * Validates that an object parameter is not null. | ||
| * @param objectArg the object parameter to validate | ||
| * @param variableName the name of the variable being validated, used in exception messages | ||
| * @throws IllegalArgumentException if the object is null | ||
| */ | ||
| public static final void objectChecker(Object objectArg, String variableName) throws IllegalArgumentException { | ||
| nullCheck(objectArg, variableName); | ||
| } | ||
|
|
||
| /** | ||
| * Validates that a BigDecimal parameter is not null and is greater than zero. | ||
| * @param bigDecimalArg the BigDecimal parameter to validate | ||
| * @param variableName the name of the variable being validated, used in exception messages | ||
| * @throws IllegalArgumentException if the BigDecimal is null or not greater than zero | ||
| */ | ||
| public static final void bigDecimalChecker(BigDecimal bigDecimalArg, String variableName) throws IllegalArgumentException { | ||
| nullCheck(bigDecimalArg, variableName); | ||
| if (bigDecimalArg.compareTo(BigDecimal.ZERO) <= 0) { | ||
| throw new IllegalArgumentException(String.format("%s must be larger than 0", variableName)); | ||
| } | ||
| } | ||
|
|
||
| /** | ||
| * Helper method to check if a variable is null and throw an IllegalArgumentException with a formatted message if it is. | ||
| * @param variable the variable to check for null | ||
| * @param variableName the name of the variable being checked, used in the exception message | ||
| * @throws IllegalArgumentException if the variable is null | ||
| */ | ||
| private static final void nullCheck(Object variable, String variableName) throws IllegalArgumentException { | ||
| if (variable == null) { | ||
| throw new IllegalArgumentException(String.format("%s can't be null", variableName)); | ||
| } | ||
| } | ||
| } |