Skip to content

Commit bad7f98

Browse files
committed
changing DateTimeFormatValidator to keep up backward-compatibility
1 parent 756b588 commit bad7f98

File tree

1 file changed

+23
-5
lines changed

1 file changed

+23
-5
lines changed

core/src/main/java/org/everit/json/schema/internal/DateTimeFormatValidator.java

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

3-
import com.google.common.collect.ImmutableList;
3+
import static org.everit.json.schema.internal.TemporalFormatValidator.SECONDS_FRACTION_FORMATTER;
44

55
import java.time.format.DateTimeFormatter;
66
import java.time.format.DateTimeFormatterBuilder;
77
import java.util.List;
8+
import java.util.Optional;
9+
10+
import org.everit.json.schema.FormatValidator;
11+
12+
import com.google.common.collect.ImmutableList;
813

914
/**
1015
* Implementation of the "date-time" format value.
1116
*/
12-
public class DateTimeFormatValidator extends TemporalFormatValidator {
17+
public class DateTimeFormatValidator implements FormatValidator {
18+
19+
private static class Delegate extends TemporalFormatValidator {
20+
21+
Delegate() {
22+
super(FORMATTER, FORMATS_ACCEPTED);
23+
}
24+
25+
@Override public String formatName() {
26+
return "date-time";
27+
}
28+
}
1329

1430
private static final List<String> FORMATS_ACCEPTED = ImmutableList.of(
1531
"yyyy-MM-dd'T'HH:mm:ssZ", "yyyy-MM-dd'T'HH:mm:ss.[0-9]{1,9}Z, yyyy-MM-dd'T'HH:mm:ss[+-]HH:mm",
@@ -24,13 +40,15 @@ public class DateTimeFormatValidator extends TemporalFormatValidator {
2440
final DateTimeFormatterBuilder builder = new DateTimeFormatterBuilder()
2541
.appendPattern(PARTIAL_DATETIME_PATTERN)
2642
.appendOptional(SECONDS_FRACTION_FORMATTER)
27-
.appendPattern(ZONE_OFFSET_PATTERN);
43+
.appendPattern(TemporalFormatValidator.ZONE_OFFSET_PATTERN);
2844

2945
FORMATTER = builder.toFormatter();
3046
}
3147

32-
public DateTimeFormatValidator() {
33-
super(FORMATTER, FORMATS_ACCEPTED);
48+
private Delegate delegate = new Delegate();
49+
50+
@Override public Optional<String> validate(String subject) {
51+
return delegate.validate(subject);
3452
}
3553

3654
@Override

0 commit comments

Comments
 (0)