Package ru.iopump.qa.util
Class EnumUtil
- java.lang.Object
-
- ru.iopump.qa.util.EnumUtil
-
public final class EnumUtil extends java.lang.Object
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T extends java.lang.Enum<T>>
TgetByName(@NonNull java.lang.Class<T> enumClass, java.lang.String expectedEnumName)Find enum by name (ignore case).static <T extends java.lang.Enum<T> & WithValue<V>,V>
TgetByValue(@NonNull java.lang.Class<T> enumClass, V expectedValue)Find enum implemented interfaceWithValueby value.
-
-
-
Method Detail
-
getByValue
@NonNull public static <T extends java.lang.Enum<T> & WithValue<V>,V> T getByValue(@NonNull @NonNull java.lang.Class<T> enumClass, @Nullable V expectedValue)
Find enum implemented interfaceWithValueby value. This method walk through all enum constants, get value, compare this value with expected value. And return suitable enum constant orIllegalArgumentException. Ignore case if expected type isString.- Type Parameters:
T- Enum typeV- Value type- Parameters:
enumClass- Enum classexpectedValue- Searching value- Returns:
- Concrete enum constant.
- Throws:
java.lang.IllegalArgumentException- Not exists
-
getByName
@NonNull public static <T extends java.lang.Enum<T>> T getByName(@NonNull @NonNull java.lang.Class<T> enumClass, @Nullable java.lang.String expectedEnumName)Find enum by name (ignore case). This method walk through all enum constants, get value, compare this value with expected value. And return suitable enum constant orIllegalArgumentException.- Type Parameters:
T- Enum type- Parameters:
enumClass- Enum classexpectedEnumName- Searching enumEnum.name()usually equalsEnum.toString()- Returns:
- Concrete enum constant.
- Throws:
java.lang.IllegalArgumentException- Not exists
-
-