Generate default values from Duration and Period .ZERO

Closes gh-23082
This commit is contained in:
Andy Wilkinson 2020-08-25 15:46:50 +01:00
parent 085091dbe3
commit 56ded38f5d
3 changed files with 8 additions and 0 deletions

View File

@ -98,6 +98,8 @@ public class JavaCompilerFieldValuesParser implements FieldValuesParser {
values.put("StandardCharsets.UTF_8", "UTF-8");
values.put("StandardCharsets.UTF_16", "UTF-16");
values.put("StandardCharsets.US_ASCII", "US-ASCII");
values.put("Duration.ZERO", 0);
values.put("Period.ZERO", 0);
WELL_KNOWN_STATIC_FINALS = Collections.unmodifiableMap(values);
}

View File

@ -94,6 +94,7 @@ public abstract class AbstractFieldValuesProcessorTests {
assertThat(values.get("durationMinutes")).isEqualTo("30m");
assertThat(values.get("durationHours")).isEqualTo("40h");
assertThat(values.get("durationDays")).isEqualTo("50d");
assertThat(values.get("durationZero")).isEqualTo(0);
assertThat(values.get("dataSizeNone")).isNull();
assertThat(values.get("dataSizeBytes")).isEqualTo("5B");
assertThat(values.get("dataSizeKilobytes")).isEqualTo("10KB");
@ -105,6 +106,7 @@ public abstract class AbstractFieldValuesProcessorTests {
assertThat(values.get("periodWeeks")).isEqualTo("2w");
assertThat(values.get("periodMonths")).isEqualTo("10m");
assertThat(values.get("periodYears")).isEqualTo("15y");
assertThat(values.get("periodZero")).isEqualTo(0);
}
@SupportedAnnotationTypes({ "org.springframework.boot.configurationsample.ConfigurationProperties" })

View File

@ -125,6 +125,8 @@ public class FieldValues {
private Duration durationDays = Duration.ofDays(50);
private Duration durationZero = Duration.ZERO;
private DataSize dataSizeNone;
private DataSize dataSizeBytes = DataSize.ofBytes(5);
@ -147,4 +149,6 @@ public class FieldValues {
private Period periodYears = Period.ofYears(15);
private Period periodZero = Period.ZERO;
}