16
16
import org .everit .json .schema .internal .HostnameFormatValidator ;
17
17
import org .everit .json .schema .internal .IPV4Validator ;
18
18
import org .everit .json .schema .internal .IPV6Validator ;
19
+ import org .everit .json .schema .internal .JsonPointerFormatValidator ;
19
20
import org .everit .json .schema .internal .URIFormatValidator ;
21
+ import org .everit .json .schema .internal .URIReferenceFormatValidator ;
22
+ import org .everit .json .schema .internal .URITemplateFormatValidator ;
20
23
21
24
/**
22
25
* @author erosb
@@ -41,14 +44,7 @@ enum SpecificationVersion {
41
44
}
42
45
43
46
@ 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 );
47
+ return V4_VALIDATORS ;
52
48
}
53
49
54
50
}, DRAFT_6 {
@@ -69,7 +65,7 @@ enum SpecificationVersion {
69
65
}
70
66
71
67
@ Override Map <String , FormatValidator > defaultFormatValidators () {
72
- throw new UnsupportedOperationException () ;
68
+ return V6_VALIDATORS ;
73
69
}
74
70
75
71
};
@@ -108,6 +104,29 @@ private static final List<String> keywords(String... keywords) {
108
104
return unmodifiableList (asList (keywords ));
109
105
}
110
106
107
+ private static final Map <String , FormatValidator > V4_VALIDATORS ;
108
+
109
+ static {
110
+ Map <String , FormatValidator > formatValidators = new HashMap <>();
111
+ formatValidators .put ("date-time" , new DateTimeFormatValidator ());
112
+ formatValidators .put ("uri" , new URIFormatValidator ());
113
+ formatValidators .put ("email" , new EmailFormatValidator ());
114
+ formatValidators .put ("ipv4" , new IPV4Validator ());
115
+ formatValidators .put ("ipv6" , new IPV6Validator ());
116
+ formatValidators .put ("hostname" , new HostnameFormatValidator ());
117
+ V4_VALIDATORS = unmodifiableMap (formatValidators );
118
+ }
119
+
120
+ private static final Map <String , FormatValidator > V6_VALIDATORS ;
121
+
122
+ static {
123
+ Map <String , FormatValidator > v6Validators = new HashMap <>(V4_VALIDATORS );
124
+ v6Validators .put ("json-pointer" , new JsonPointerFormatValidator ());
125
+ v6Validators .put ("uri-reference" , new URIReferenceFormatValidator ());
126
+ v6Validators .put ("uri-template" , new URITemplateFormatValidator ());
127
+ V6_VALIDATORS = unmodifiableMap (v6Validators );
128
+ }
129
+
111
130
abstract List <String > arrayKeywords ();
112
131
113
132
abstract List <String > objectKeywords ();
0 commit comments