diff --git a/lib/build.gradle b/lib/build.gradle index e92ee5a..e303eba 100644 --- a/lib/build.gradle +++ b/lib/build.gradle @@ -9,8 +9,19 @@ plugins { id 'maven-publish' } +sourceSets { + main { + java { + srcDir 'src/main/java' + } + resources { + srcDir 'src/main/resources' + } + } +} + group 'io.github.team-xquare' -version '0.0.8' +version '0.0.9' repositories { mavenCentral() @@ -19,7 +30,6 @@ repositories { dependencies { testRuntimeOnly 'org.codehaus.groovy:groovy' testImplementation "org.spockframework:spock-core:$spockVersion" - testImplementation "org.spockframework:spock-spring:$spockVersion" testRuntimeOnly 'org.junit.vintage:junit-vintage-engine:5.5.0' } @@ -44,11 +54,9 @@ artifacts { publishing { publications { maven(MavenPublication) { - groupId = 'io.github.team-xquare' - artifactId = 'utils' - version = '0.0.8' - - from components.java + artifact("build/libs/lib-$version" + ".jar") { + extension 'jar' + } } } repositories { diff --git a/lib/src/main/java/validator/StudentValidator.java b/lib/src/main/java/validator/StudentValidator.java index afbe523..cb4e243 100644 --- a/lib/src/main/java/validator/StudentValidator.java +++ b/lib/src/main/java/validator/StudentValidator.java @@ -1,5 +1,6 @@ package validator; +import java.util.Arrays; import java.util.regex.Pattern; /** @@ -16,4 +17,53 @@ public static boolean isEmailValid(String email) { return pattern.matcher(email).matches(); } + + /** + * @param gcn 학번 + * @param type 학년 + * @return true: 검증 성공, false: 검증 실패 + */ + public static boolean isGradeValid(Integer gcn, Integer type) { + int grade = gcn / 1000; + + return type.equals(grade); + } + + /** + * 학번으로 해당 학년이 맞는지 검사합니다. + * @param gcn 학번 + * @param types 학년(복수 매개변수 가능) + * @return true: 검증 성공, false: 검증 실패 + */ + public static boolean isGradeValid(Integer gcn, Integer... types) { + int grade = gcn / 1000; + + return Arrays.asList(types).contains(grade); + } + + /** + * 학번으로 해당 학년이 맞는지 검사합니다. + * @param gcn 학번 + * @param type 학년 + * @return true: 검증 성공, false: 검증 실패 + */ + public static boolean isGradeValid(String gcn, Integer type) { + Pattern pattern = Pattern.compile("^[" + type + "]"); + + return pattern.matcher(gcn).matches(); + } + + /** + * 학번으로 해당 학년이 맞는지 검사합니다. + * @param gcn 학번 + * @param types 학년(복수 매개변수 가능) + * @return true: 검증 성공, false: 검증 실패 + */ + public static boolean isGradeValid(String gcn, Integer... types) { + return Arrays.stream(types).anyMatch(type -> { + Pattern pattern = Pattern.compile("^[" + type + "]"); + + return pattern.matcher(gcn).matches(); + }); + } }