mirror of
https://github.com/jlengrand/github-api.git
synced 2026-03-10 08:21:21 +00:00
Adjust EnumUtils method name and add javadoc
This commit is contained in:
@@ -99,7 +99,7 @@ public class GHCheckRun extends GHObject {
|
||||
QUEUED, IN_PROGRESS, COMPLETED, UNKNOWN;
|
||||
|
||||
public static Status from(String value) {
|
||||
return EnumUtils.getEnum(Status.class, value, Status.UNKNOWN);
|
||||
return EnumUtils.getNullableEnumOrDefault(Status.class, value, Status.UNKNOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -134,7 +134,7 @@ public class GHCheckRun extends GHObject {
|
||||
ACTION_REQUIRED, CANCELLED, FAILURE, NEUTRAL, SUCCESS, SKIPPED, STALE, TIMED_OUT, UNKNOWN;
|
||||
|
||||
public static Conclusion from(String value) {
|
||||
return EnumUtils.getEnum(Conclusion.class, value, Conclusion.UNKNOWN);
|
||||
return EnumUtils.getNullableEnumOrDefault(Conclusion.class, value, Conclusion.UNKNOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -363,7 +363,7 @@ public class GHWorkflowRun extends GHObject {
|
||||
QUEUED, IN_PROGRESS, COMPLETED, UNKNOWN;
|
||||
|
||||
public static Status from(String value) {
|
||||
return EnumUtils.getEnum(Status.class, value, Status.UNKNOWN);
|
||||
return EnumUtils.getNullableEnumOrDefault(Status.class, value, Status.UNKNOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -376,7 +376,7 @@ public class GHWorkflowRun extends GHObject {
|
||||
ACTION_REQUIRED, CANCELLED, FAILURE, NEUTRAL, SUCCESS, SKIPPED, STALE, TIMED_OUT, UNKNOWN;
|
||||
|
||||
public static Conclusion from(String value) {
|
||||
return EnumUtils.getEnum(Conclusion.class, value, Conclusion.UNKNOWN);
|
||||
return EnumUtils.getNullableEnumOrDefault(Conclusion.class, value, Conclusion.UNKNOWN);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -2,9 +2,28 @@ package org.kohsuke.github.internal;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* Utils for Enums.
|
||||
*/
|
||||
public final class EnumUtils {
|
||||
|
||||
public static <E extends Enum<E>> E getEnum(Class<E> enumClass, String value, E defaultEnum) {
|
||||
/**
|
||||
* Returns an enum value matching the value if found, null if the value is null and {@code defaultEnum} if the value
|
||||
* cannot be matched to a value of the enum.
|
||||
* <p>
|
||||
* The value is converted to uppercase before being matched to the enum values.
|
||||
*
|
||||
* @param <E>
|
||||
* the type of the enum
|
||||
* @param enumClass
|
||||
* the type of the enum
|
||||
* @param value
|
||||
* the value to interpret
|
||||
* @param defaultEnum
|
||||
* the default enum value if the value doesn't match one of the enum value
|
||||
* @return an enum value or null
|
||||
*/
|
||||
public static <E extends Enum<E>> E getNullableEnumOrDefault(Class<E> enumClass, String value, E defaultEnum) {
|
||||
if (value == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -9,12 +9,12 @@ public class EnumUtilsTest {
|
||||
|
||||
@Test
|
||||
public void testGetEnum() {
|
||||
assertNull(EnumUtils.getEnum(TestEnum.class, null, TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.UNKNOWN, EnumUtils.getEnum(TestEnum.class, "foobar", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_1, EnumUtils.getEnum(TestEnum.class, "VALUE_1", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_1, EnumUtils.getEnum(TestEnum.class, "value_1", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_2, EnumUtils.getEnum(TestEnum.class, "VALUE_2", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_2, EnumUtils.getEnum(TestEnum.class, "value_2", TestEnum.UNKNOWN));
|
||||
assertNull(EnumUtils.getNullableEnumOrDefault(TestEnum.class, null, TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.UNKNOWN, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "foobar", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_1, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "VALUE_1", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_1, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "value_1", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_2, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "VALUE_2", TestEnum.UNKNOWN));
|
||||
assertEquals(TestEnum.VALUE_2, EnumUtils.getNullableEnumOrDefault(TestEnum.class, "value_2", TestEnum.UNKNOWN));
|
||||
}
|
||||
|
||||
private enum TestEnum {
|
||||
|
||||
Reference in New Issue
Block a user