Skip to content

Commit 30ba6e0

Browse files
authored
Merge pull request #12 from SentryMan/packages
Move Classes to adapter package / String Core Adapter Factory Switch
2 parents 0d4211b + a19717b commit 30ba6e0

12 files changed

+33
-26
lines changed

validator/src/main/java/io/avaje/validation/Validator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import java.util.Map;
77
import java.util.ServiceLoader;
88

9+
import io.avaje.validation.adapter.AnnotationValidationAdapter;
910
import io.avaje.validation.adapter.CoreValidation;
1011
import io.avaje.validation.adapter.ValidationAdapter;
1112
import io.avaje.validation.adapter.ValidatorComponent;

validator/src/main/java/io/avaje/validation/AnnotationValidationAdapter.java renamed to validator/src/main/java/io/avaje/validation/adapter/AnnotationValidationAdapter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package io.avaje.validation;
1+
package io.avaje.validation.adapter;
22

3-
import java.lang.reflect.Type;
3+
import java.lang.annotation.Annotation;
44
import java.util.Map;
55

6-
import io.avaje.validation.adapter.ValidationAdapter;
6+
import io.avaje.validation.Validator;
77
import io.avaje.validation.core.MessageInterpolator;
88

99
public interface AnnotationValidationAdapter<T> extends ValidationAdapter<T> {
@@ -23,6 +23,6 @@ public interface Factory {
2323
* <p>Returning null means that the adapter could be created by another factory.
2424
*/
2525
AnnotationValidationAdapter<?> create(
26-
Type annotationType, Validator context, MessageInterpolator interpolator);
26+
Class<? extends Annotation> annotationType, Validator context, MessageInterpolator interpolator);
2727
}
2828
}

validator/src/main/java/io/avaje/validation/adapter/ValidationAdapter.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package io.avaje.validation.adapter;
1717

18-
import io.avaje.validation.AnnotationValidationAdapter;
1918
import io.avaje.validation.Validator;
2019

2120
import java.lang.reflect.Type;

validator/src/main/java/io/avaje/validation/core/CoreAdapterBuilder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import java.util.Map;
2323
import java.util.concurrent.ConcurrentHashMap;
2424

25-
import io.avaje.validation.AnnotationValidationAdapter;
25+
import io.avaje.validation.adapter.AnnotationValidationAdapter;
2626
import io.avaje.validation.adapter.ValidationAdapter;
2727

2828
/** Builds and caches the ValidationAdapter adapters for DValidator. */

validator/src/main/java/io/avaje/validation/core/DValidationType.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package io.avaje.validation.core;
22

33
import io.avaje.validation.adapter.ValidationAdapter;
4-
import io.avaje.validation.ValidationType;
54
import io.avaje.validation.adapter.ValidationRequest;
65

76
import java.lang.reflect.Type;

validator/src/main/java/io/avaje/validation/core/DValidator.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,12 @@
1313
import java.util.ServiceLoader;
1414
import java.util.concurrent.ConcurrentHashMap;
1515

16-
import io.avaje.validation.AnnotationValidationAdapter;
17-
import io.avaje.validation.AnnotationValidationAdapter.Factory;
18-
import io.avaje.validation.ValidationType;
1916
import io.avaje.validation.Validator;
17+
import io.avaje.validation.adapter.AnnotationValidationAdapter;
2018
import io.avaje.validation.adapter.CoreValidation;
2119
import io.avaje.validation.adapter.ValidationAdapter;
2220
import io.avaje.validation.adapter.ValidatorComponent;
21+
import io.avaje.validation.adapter.AnnotationValidationAdapter.Factory;
2322

2423
/** Default implementation of Validator. */
2524
final class DValidator implements Validator {

validator/src/main/java/io/avaje/validation/core/JakartaTypeAdapters.java

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,27 +26,30 @@
2626
import java.util.Map;
2727
import java.util.function.Predicate;
2828

29-
import io.avaje.validation.AnnotationValidationAdapter;
29+
import io.avaje.validation.adapter.AnnotationValidationAdapter;
3030
import io.avaje.validation.adapter.ValidationRequest;
31-
import jakarta.validation.constraints.AssertTrue;
32-
import jakarta.validation.constraints.NotBlank;
33-
import jakarta.validation.constraints.Past;
34-
import jakarta.validation.constraints.Pattern;
3531
import jakarta.validation.constraints.Pattern.Flag;
36-
import jakarta.validation.constraints.Size;
3732

3833
final class JakartaTypeAdapters {
3934
private JakartaTypeAdapters() {}
4035

4136
@SuppressWarnings({"unchecked", "rawtypes"})
4237
static final AnnotationValidationAdapter.Factory FACTORY =
4338
(annotationType, validator, interpolator) -> {
44-
if (annotationType == AssertTrue.class) return new AssertTrueAdapter(interpolator);
45-
if (annotationType == NotBlank.class) return new NotBlankAdapter(interpolator);
46-
if (annotationType == Past.class) return new PastAdapter(interpolator);
47-
if (annotationType == Pattern.class) return new PatternAdapter(interpolator);
48-
if (annotationType == Size.class) return new SizeAdapter(interpolator);
49-
return null;
39+
switch (annotationType.getSimpleName()) {
40+
case "AssertTrue":
41+
return new AssertTrueAdapter(interpolator);
42+
case "NotBlank":
43+
return new NotBlankAdapter(interpolator);
44+
case "Past":
45+
return new PastAdapter(interpolator);
46+
case "Pattern":
47+
return new PatternAdapter(interpolator);
48+
case "Size":
49+
return new SizeAdapter(interpolator);
50+
default:
51+
return null;
52+
}
5053
};
5154

5255
private static final class PatternAdapter implements AnnotationValidationAdapter<CharSequence> {

validator/src/main/java/io/avaje/validation/core/NoopAnnotationValidator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.avaje.validation.core;
22

3-
import io.avaje.validation.AnnotationValidationAdapter;
3+
import io.avaje.validation.adapter.AnnotationValidationAdapter;
44
import io.avaje.validation.adapter.ValidationRequest;
55

66
public class NoopAnnotationValidator<T> implements AnnotationValidationAdapter<T> {

validator/src/main/java/io/avaje/validation/ValidationType.java renamed to validator/src/main/java/io/avaje/validation/core/ValidationType.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
1-
package io.avaje.validation;
1+
package io.avaje.validation.core;
2+
3+
import io.avaje.validation.ConstraintViolationException;
24

35
public interface ValidationType<T> {
46

validator/src/test/java/io/avaje/validation/core/AddressValidationAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import java.util.Map;
44

5-
import io.avaje.validation.AnnotationValidationAdapter;
65
import io.avaje.validation.Validator;
6+
import io.avaje.validation.adapter.AnnotationValidationAdapter;
77
import io.avaje.validation.adapter.ValidationAdapter;
88
import io.avaje.validation.adapter.ValidationRequest;
99
import jakarta.validation.constraints.NotBlank;

validator/src/test/java/io/avaje/validation/core/ContactValidationAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import java.util.Map;
44

5-
import io.avaje.validation.AnnotationValidationAdapter;
65
import io.avaje.validation.Validator;
6+
import io.avaje.validation.adapter.AnnotationValidationAdapter;
77
import io.avaje.validation.adapter.ValidationAdapter;
88
import io.avaje.validation.adapter.ValidationRequest;
99
import jakarta.validation.constraints.NotBlank;

validator/src/test/java/io/avaje/validation/core/CustomerValidationAdapter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import java.util.Map;
55

66
import io.avaje.validation.Validator;
7+
import io.avaje.validation.adapter.CoreValidation;
78
import io.avaje.validation.adapter.ValidationAdapter;
89
import io.avaje.validation.adapter.ValidationRequest;
910
import jakarta.validation.constraints.AssertTrue;
@@ -19,10 +20,13 @@ public final class CustomerValidationAdapter implements ValidationAdapter<Custom
1920
private final ValidationAdapter<Object> activeDateAdapter;
2021
private final ValidationAdapter<List<Contact>> contactsValidator;
2122

23+
private final CoreValidation core;
24+
2225
private final ValidationAdapter<Address> addressValidator;
2326
private final ValidationAdapter<Contact> contactValidator;
2427

2528
public CustomerValidationAdapter(Validator validator) {
29+
this.core = validator.core();
2630
this.activeAdapter =
2731
validator.<Boolean>annotationAdapter(AssertTrue.class, Map.of("message", "not true"));
2832

0 commit comments

Comments
 (0)