Skip to content

Commit 35d9e2f

Browse files
authored
default instance (#318)
1 parent 71bfa2e commit 35d9e2f

File tree

4 files changed

+16
-3
lines changed

4 files changed

+16
-3
lines changed

blackbox-test/src/test/java/example/avaje/cascade/AShipTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616
class AShipTest {
1717

18-
Validator validator = Validator.builder().build();
18+
Validator validator = Validator.instance();
1919

2020
@Test
2121
void valid() {

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

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,16 @@ static Builder builder() {
107107
return DefaultBootstrap.builder();
108108
}
109109

110+
/**
111+
* Get the default Validator instance with all generated adapters configured.
112+
*
113+
* <p>This is a faster alternative to {@code Validator.builder().build()} that will return the
114+
* same singleton instance.
115+
*/
116+
static Validator instance() {
117+
return DefaultBootstrap.instance();
118+
}
119+
110120
/** Build the Validator instance adding ValidationAdapter, Factory or AdapterBuilder. */
111121
interface Builder {
112122

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import io.avaje.validation.adapter.ValidationRequest;
3232
import io.avaje.validation.spi.AdapterFactory;
3333
import io.avaje.validation.spi.AnnotationFactory;
34-
import io.avaje.validation.spi.GeneratedComponent;
3534
import io.avaje.validation.spi.MessageInterpolator;
3635
import io.avaje.validation.spi.ValidatorCustomizer;
3736

@@ -180,7 +179,7 @@ String interpolate(Message msg, Locale requestLocale) {
180179
static final class DBuilder implements Validator.Builder {
181180

182181
private static final Supplier<Clock> DEFAULT_CLOCK = Clock::systemDefaultZone;
183-
private static final Validator DEFAULT = Validator.builder().build();
182+
static final Validator DEFAULT = Validator.builder().build();
184183

185184
private final List<AdapterFactory> factories = new ArrayList<>();
186185
private final List<AnnotationFactory> afactories = new ArrayList<>();

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,4 +10,8 @@ private DefaultBootstrap() {}
1010
public static Validator.Builder builder() {
1111
return new DValidator.DBuilder();
1212
}
13+
14+
public static Validator instance() {
15+
return DValidator.DBuilder.DEFAULT;
16+
}
1317
}

0 commit comments

Comments
 (0)