Skip to content

Commit 722d73f

Browse files
committed
removed FormatValidator#v4Defaults(), replacing with SpecificationVersion#defaultFormatValidators()
1 parent 560d4fc commit 722d73f

File tree

6 files changed

+47
-35
lines changed

6 files changed

+47
-35
lines changed

core/src/main/java/org/everit/json/schema/FormatValidator.java

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package org.everit.json.schema;
22

3-
import static java.util.Collections.unmodifiableMap;
43
import static java.util.Objects.requireNonNull;
54

6-
import java.util.HashMap;
7-
import java.util.Map;
85
import java.util.Optional;
96

107
import org.everit.json.schema.internal.DateTimeFormatValidator;
@@ -21,17 +18,6 @@
2118
@FunctionalInterface
2219
public interface FormatValidator {
2320

24-
static Map<String, FormatValidator> v4Defaults() {
25-
Map<String, FormatValidator> formatValidators = new HashMap<>();
26-
formatValidators.put("date-time", new DateTimeFormatValidator());
27-
formatValidators.put("uri", new URIFormatValidator());
28-
formatValidators.put("email", new EmailFormatValidator());
29-
formatValidators.put("ipv4", new IPV4Validator());
30-
formatValidators.put("ipv6", new IPV6Validator());
31-
formatValidators.put("hostname", new HostnameFormatValidator());
32-
return unmodifiableMap(formatValidators);
33-
}
34-
3521
/**
3622
* No-operation implementation (never throws {always returns {@link Optional#empty()}).
3723
*/

core/src/main/java/org/everit/json/schema/loader/ArraySchemaLoader.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
package org.everit.json.schema.loader;
22

3-
import org.everit.json.schema.ArraySchema;
4-
import org.everit.json.schema.FormatValidator;
5-
63
import static java.util.Objects.requireNonNull;
74
import static org.everit.json.schema.loader.SpecificationVersion.DRAFT_6;
85

6+
import org.everit.json.schema.ArraySchema;
7+
98
/**
109
* @author erosb
1110
*/
@@ -19,7 +18,7 @@ class ArraySchemaLoader {
1918

2019
/**
2120
* Creates an instance configured with with {@link SpecificationVersion#DRAFT_4 draft 4 settings} and
22-
* {@link FormatValidator#v4Defaults() default v4 format validators}.
21+
* {@link SpecificationVersion#defaultFormatValidators()} default v4 format validators}.
2322
*
2423
* @deprecated use {@link #ArraySchemaLoader(LoadingState, LoaderConfig, SchemaLoader)} instead.
2524
*/

core/src/main/java/org/everit/json/schema/loader/LoaderConfig.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package org.everit.json.schema.loader;
22

3-
import org.everit.json.schema.FormatValidator;
4-
import org.everit.json.schema.loader.internal.DefaultSchemaClient;
3+
import static java.util.Objects.requireNonNull;
4+
import static org.everit.json.schema.loader.SpecificationVersion.DRAFT_4;
55

66
import java.util.Map;
77

8-
import static java.util.Objects.requireNonNull;
9-
import static org.everit.json.schema.FormatValidator.v4Defaults;
8+
import org.everit.json.schema.FormatValidator;
9+
import org.everit.json.schema.loader.internal.DefaultSchemaClient;
1010

1111
/**
1212
* @author erosb
1313
*/
1414
class LoaderConfig {
1515

1616
static LoaderConfig defaultV4Config() {
17-
return new LoaderConfig(new DefaultSchemaClient(), v4Defaults(), SpecificationVersion.DRAFT_4);
17+
return new LoaderConfig(new DefaultSchemaClient(), DRAFT_4.defaultFormatValidators(), DRAFT_4);
1818
}
1919

2020
final SchemaClient httpClient;

core/src/main/java/org/everit/json/schema/loader/SchemaLoader.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import static java.util.Arrays.asList;
44
import static java.util.Collections.emptyList;
55
import static java.util.Objects.requireNonNull;
6-
import static org.everit.json.schema.FormatValidator.v4Defaults;
76
import static org.everit.json.schema.loader.SpecificationVersion.DRAFT_4;
87
import static org.everit.json.schema.loader.SpecificationVersion.DRAFT_6;
98

@@ -66,7 +65,7 @@ public static class SchemaLoaderBuilder {
6665

6766
List<String> pointerToCurrentObj = emptyList();
6867

69-
Map<String, FormatValidator> formatValidators = new HashMap<>(v4Defaults());
68+
Map<String, FormatValidator> formatValidators = new HashMap<>(DRAFT_4.defaultFormatValidators());
7069

7170
SpecificationVersion specVersion = DRAFT_4;
7271

core/src/main/java/org/everit/json/schema/loader/SpecificationVersion.java

Lines changed: 31 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,29 @@
11
package org.everit.json.schema.loader;
22

3-
import java.util.Arrays;
4-
import java.util.List;
5-
63
import static java.lang.String.format;
74
import static java.util.Arrays.asList;
5+
import static java.util.Collections.unmodifiableMap;
86
import static org.apache.commons.collections.ListUtils.unmodifiableList;
97

8+
import java.util.Arrays;
9+
import java.util.HashMap;
10+
import java.util.List;
11+
import java.util.Map;
12+
13+
import org.everit.json.schema.FormatValidator;
14+
import org.everit.json.schema.internal.DateTimeFormatValidator;
15+
import org.everit.json.schema.internal.EmailFormatValidator;
16+
import org.everit.json.schema.internal.HostnameFormatValidator;
17+
import org.everit.json.schema.internal.IPV4Validator;
18+
import org.everit.json.schema.internal.IPV6Validator;
19+
import org.everit.json.schema.internal.URIFormatValidator;
20+
1021
/**
1122
* @author erosb
1223
*/
1324
enum SpecificationVersion {
1425

1526
DRAFT_4 {
16-
1727
@Override List<String> arrayKeywords() {
1828
return V4_ARRAY_KEYWORDS;
1929
}
@@ -30,6 +40,17 @@ enum SpecificationVersion {
3040
return "http://json-schema.org/draft-04/schema";
3141
}
3242

43+
@Override Map<String, FormatValidator> defaultFormatValidators() {
44+
Map<String, FormatValidator> formatValidators = new HashMap<>();
45+
formatValidators.put("date-time", new DateTimeFormatValidator());
46+
formatValidators.put("uri", new URIFormatValidator());
47+
formatValidators.put("email", new EmailFormatValidator());
48+
formatValidators.put("ipv4", new IPV4Validator());
49+
formatValidators.put("ipv6", new IPV6Validator());
50+
formatValidators.put("hostname", new HostnameFormatValidator());
51+
return unmodifiableMap(formatValidators);
52+
}
53+
3354
}, DRAFT_6 {
3455
@Override List<String> arrayKeywords() {
3556
return V6_ARRAY_KEYWORDS;
@@ -47,6 +68,10 @@ enum SpecificationVersion {
4768
return "http://json-schema.org/draft-06/schema";
4869
}
4970

71+
@Override Map<String, FormatValidator> defaultFormatValidators() {
72+
throw new UnsupportedOperationException();
73+
}
74+
5075
};
5176

5277
static SpecificationVersion getByMetaSchemaUrl(String metaSchemaUrl) {
@@ -91,4 +116,6 @@ private static final List<String> keywords(String... keywords) {
91116

92117
abstract String metaSchemaUrl();
93118

119+
abstract Map<String, FormatValidator> defaultFormatValidators();
120+
94121
}

core/src/main/java/org/everit/json/schema/loader/StringSchemaLoader.java

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package org.everit.json.schema.loader;
22

3-
import org.everit.json.schema.FormatValidator;
4-
import org.everit.json.schema.StringSchema;
3+
import static java.util.Collections.unmodifiableMap;
4+
import static java.util.Objects.requireNonNull;
5+
import static org.everit.json.schema.loader.SpecificationVersion.DRAFT_4;
56

67
import java.util.Map;
78

8-
import static java.util.Collections.unmodifiableMap;
9-
import static java.util.Objects.requireNonNull;
9+
import org.everit.json.schema.FormatValidator;
10+
import org.everit.json.schema.StringSchema;
1011

1112
/**
1213
* @author erosb
@@ -18,13 +19,13 @@ public class StringSchemaLoader {
1819
private Map<String, FormatValidator> formatValidators;
1920

2021
/**
21-
* Creates an instance with {@link FormatValidator#v4Defaults() draft v4 format validators}.
22+
* Creates an instance with {@link SpecificationVersion#defaultFormatValidators()} draft v4 format validators}.
2223
*
2324
* @deprecated explicitly specify the format validators with {@link #StringSchemaLoader(LoadingState, Map)} instead
2425
*/
2526
@Deprecated
2627
public StringSchemaLoader(LoadingState ls) {
27-
this(ls, FormatValidator.v4Defaults());
28+
this(ls, DRAFT_4.defaultFormatValidators());
2829
}
2930

3031
StringSchemaLoader(LoadingState ls, Map<String, FormatValidator> formatValidators) {

0 commit comments

Comments
 (0)