Coercer Class — spring-boot Architecture
Architecture documentation for the Coercer class in GitProperties.java from the spring-boot codebase.
Entity Profile
Relationship Graph
Source Code
core/spring-boot/src/main/java/org/springframework/boot/info/GitProperties.java lines 133–163
private record Coercer(Function<String, @Nullable Long> action, Predicate<RuntimeException> ignoredExceptions) {
/**
* Attempt to convert the specified value to epoch time.
* @param value the value to coerce to
* @return the epoch time in milliseconds or {@code null}
*/
@Nullable String apply(String value) {
try {
Long result = this.action.apply(value);
return (result != null) ? String.valueOf(result) : null;
}
catch (RuntimeException ex) {
if (this.ignoredExceptions.test(ex)) {
return null;
}
throw ex;
}
}
static Coercer milliseconds() {
return new Coercer((value) -> Long.parseLong(value) * 1000, NumberFormatException.class::isInstance);
}
static Coercer dateTimePattern(String pattern) {
return new Coercer(
(value) -> DateTimeFormatter.ofPattern(pattern).parse(value, Instant::from).toEpochMilli(),
DateTimeParseException.class::isInstance);
}
}
Domain
Source
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free