Refactor Enum Module and Add Description
This commit is contained in:
@@ -2,7 +2,9 @@ package com.mangkyu.employment.interview.enums.common;
|
||||
|
||||
public interface EnumMapperType {
|
||||
|
||||
String getCode();
|
||||
String name();
|
||||
|
||||
String getTitle();
|
||||
|
||||
String getDesc();
|
||||
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
package com.mangkyu.employment.interview.enums.common;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
|
||||
@Getter
|
||||
@Builder
|
||||
@RequiredArgsConstructor
|
||||
public class EnumMapperValue implements EnumMapperType {
|
||||
|
||||
private final String code;
|
||||
private final String title;
|
||||
private final String desc;
|
||||
|
||||
@Override
|
||||
public String getCode() {
|
||||
public String name() {
|
||||
return code;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDesc() {
|
||||
return desc;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -25,8 +25,16 @@ public class EnumMapperFactory {
|
||||
|
||||
private List<EnumMapperValue> createEnumMapperValueList(final Class<? extends EnumMapperType> e) {
|
||||
return Arrays.stream(e.getEnumConstants())
|
||||
.map(v -> new EnumMapperValue(v.getCode(), v.getDesc()))
|
||||
.map(this::convertToEnumMapperValue)
|
||||
.collect(Collectors.toList());
|
||||
}
|
||||
|
||||
private EnumMapperValue convertToEnumMapperValue(final EnumMapperType enumMapperType) {
|
||||
return EnumMapperValue.builder()
|
||||
.code(enumMapperType.name())
|
||||
.title(enumMapperType.getTitle())
|
||||
.desc(enumMapperType.getDesc())
|
||||
.build();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -8,25 +8,22 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor
|
||||
public enum QuizCategory implements EnumMapperType {
|
||||
|
||||
JAVA("Java"),
|
||||
SPRING("Spring Framework"),
|
||||
SERVER("Server Side Programming"),
|
||||
NETWORK("Network"),
|
||||
OPERATING_SYSTEM("Operating System"),
|
||||
DATABASE("Database"),
|
||||
PROGRAMMING("Overall Programming"),
|
||||
DATA_STRUCTURE("Data Structure"),
|
||||
ALGORITHM("Database"),
|
||||
PROBLEM_SOLVING("Problem Solving"),
|
||||
CULTURE("Culture Fit"),
|
||||
EXPERIENCE("Personal Experience"),
|
||||
PERSONALITY("About Interviewee"),
|
||||
;
|
||||
JAVA("Java", "Java 언어와 관련된 면접 질문을 살펴보세요"),
|
||||
SPRING("Spring Framework", "Spring 프레임워크와 관련된 면접 질문을 살펴보세요"),
|
||||
SERVER("Server Side Programming", ""),
|
||||
NETWORK("Network", "네트워크와 관련된 면접 질문을 살펴보세요"),
|
||||
OPERATING_SYSTEM("Operating System", "운영체제와 관련된 면접 질문을 살펴보세요"),
|
||||
DATABASE("Database", "데이터베이스와 관련된 면접 질문을 살펴보세요"),
|
||||
PROGRAMMING("Overall Programming", "전반적인 프로그래밍과 관련된 면접 질문을 살펴보세요"),
|
||||
DATA_STRUCTURE("Data Structure", "자료구조와 관련된 면접 질문을 살펴보세요"),
|
||||
ALGORITHM("Database", "알고리즘과 관련된 면접 질문을 살펴보세요"),
|
||||
PROBLEM_SOLVING("Problem Solving", "문제 해결과 관련된 면접 질문을 살펴보세요"),
|
||||
CULTURE("Culture Fit", "문화 적합도와 관련된 면접 질문을 살펴보세요"),
|
||||
EXPERIENCE("Personal Experience", "개인의 경험와 관련된 면접 질문을 살펴보세요"),
|
||||
PERSONALITY("About Interviewee", "개인의 성향과 관련된 면접 질문을 살펴보세요"),
|
||||
;
|
||||
|
||||
private final String desc;
|
||||
private final String title;
|
||||
private final String desc;
|
||||
|
||||
@Override
|
||||
public String getCode() {
|
||||
return name();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,23 +11,19 @@ import java.util.Arrays;
|
||||
@RequiredArgsConstructor
|
||||
public enum QuizDay implements EnumMapperType {
|
||||
|
||||
MONDAY("Monday", DayOfWeek.MONDAY),
|
||||
TUESDAY("Tuesday", DayOfWeek.TUESDAY),
|
||||
WEDNESDAY("Wednesday", DayOfWeek.WEDNESDAY),
|
||||
THURSDAY("Thursday", DayOfWeek.THURSDAY),
|
||||
FRIDAY("Friday", DayOfWeek.FRIDAY),
|
||||
SATURDAY("Saturday", DayOfWeek.SATURDAY),
|
||||
SUNDAY("Sunday", DayOfWeek.SUNDAY),
|
||||
MONDAY("Monday", "월요일", DayOfWeek.MONDAY),
|
||||
TUESDAY("Tuesday", "화요일", DayOfWeek.TUESDAY),
|
||||
WEDNESDAY("Wednesday", "수요일", DayOfWeek.WEDNESDAY),
|
||||
THURSDAY("Thursday", "목요일", DayOfWeek.THURSDAY),
|
||||
FRIDAY("Friday", "금요일", DayOfWeek.FRIDAY),
|
||||
SATURDAY("Saturday", "토요일", DayOfWeek.SATURDAY),
|
||||
SUNDAY("Sunday", "일요일", DayOfWeek.SUNDAY),
|
||||
;
|
||||
|
||||
private final String title;
|
||||
private final String desc;
|
||||
private final DayOfWeek dayOfWeek;
|
||||
|
||||
@Override
|
||||
public String getCode() {
|
||||
return name();
|
||||
}
|
||||
|
||||
public static QuizDay findQuizDay(final DayOfWeek dayOfWeek) {
|
||||
return Arrays.stream(QuizDay.values())
|
||||
.filter(v -> v.dayOfWeek == dayOfWeek)
|
||||
|
||||
@@ -8,15 +8,12 @@ import lombok.RequiredArgsConstructor;
|
||||
@RequiredArgsConstructor
|
||||
public enum QuizLevel implements EnumMapperType {
|
||||
|
||||
NEW("New Developers"),
|
||||
JUNIOR("Junior Developers"),
|
||||
SENIOR("Senior Developers"),
|
||||
;
|
||||
NEW("New Developers", "신입"),
|
||||
JUNIOR("Junior Developers", "주니어"),
|
||||
SENIOR("Senior Developers", "시니어"),
|
||||
;
|
||||
|
||||
private final String desc;
|
||||
private final String title;
|
||||
private final String desc;
|
||||
|
||||
@Override
|
||||
public String getCode() {
|
||||
return name();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user