Implement RuntimeHintsRegistrar

CLoses gh-44299
This commit is contained in:
Tran Ngoc Nhan
2025-02-14 00:26:01 +07:00
committed by Stéphane Nicoll
parent e67c8b43a2
commit d212232d9d
7 changed files with 46 additions and 31 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2012-2024 the original author or authors.
* Copyright 2012-2025 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -19,6 +19,8 @@ package org.springframework.boot;
import java.util.LinkedHashSet;
import java.util.Set;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.boot.Banner.Mode;
import org.springframework.boot.context.properties.bind.BindableRuntimeHintsRegistrar;
import org.springframework.boot.logging.LoggingSystemProperty;
@@ -157,10 +159,11 @@ class ApplicationProperties {
this.webApplicationType = webApplicationType;
}
static class ApplicationPropertiesRuntimeHints extends BindableRuntimeHintsRegistrar {
static class ApplicationPropertiesRuntimeHints implements RuntimeHintsRegistrar {
ApplicationPropertiesRuntimeHints() {
super(ApplicationProperties.class);
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
BindableRuntimeHintsRegistrar.forTypes(ApplicationProperties.class).registerHints(hints, classLoader);
}
}

View File

@@ -16,6 +16,8 @@
package org.springframework.boot.logging.structured;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.boot.context.properties.bind.BindableRuntimeHintsRegistrar;
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.boot.json.JsonWriter;
@@ -92,10 +94,12 @@ public record ElasticCommonSchemaProperties(Service service) {
}
static class ElasticCommonSchemaPropertiesRuntimeHints extends BindableRuntimeHintsRegistrar {
static class ElasticCommonSchemaPropertiesRuntimeHints implements RuntimeHintsRegistrar {
ElasticCommonSchemaPropertiesRuntimeHints() {
super(ElasticCommonSchemaProperties.class);
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
BindableRuntimeHintsRegistrar.forTypes(ElasticCommonSchemaProperties.class)
.registerHints(hints, classLoader);
}
}

View File

@@ -16,6 +16,8 @@
package org.springframework.boot.logging.structured;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.boot.context.properties.bind.BindableRuntimeHintsRegistrar;
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.boot.json.JsonWriter;
@@ -92,10 +94,12 @@ public record GraylogExtendedLogFormatProperties(String host, Service service) {
}
static class GraylogExtendedLogFormatPropertiesRuntimeHints extends BindableRuntimeHintsRegistrar {
static class GraylogExtendedLogFormatPropertiesRuntimeHints implements RuntimeHintsRegistrar {
GraylogExtendedLogFormatPropertiesRuntimeHints() {
super(GraylogExtendedLogFormatProperties.class);
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
BindableRuntimeHintsRegistrar.forTypes(GraylogExtendedLogFormatProperties.class)
.registerHints(hints, classLoader);
}
}

View File

@@ -19,6 +19,8 @@ package org.springframework.boot.logging.structured;
import java.util.Map;
import java.util.Set;
import org.springframework.aot.hint.RuntimeHints;
import org.springframework.aot.hint.RuntimeHintsRegistrar;
import org.springframework.boot.context.properties.bind.BindableRuntimeHintsRegistrar;
import org.springframework.boot.context.properties.bind.Binder;
import org.springframework.core.env.Environment;
@@ -43,10 +45,12 @@ record StructuredLoggingJsonProperties(Set<String> include, Set<String> exclude,
.orElse(null);
}
static class StructuredLoggingJsonPropertiesRuntimeHints extends BindableRuntimeHintsRegistrar {
static class StructuredLoggingJsonPropertiesRuntimeHints implements RuntimeHintsRegistrar {
StructuredLoggingJsonPropertiesRuntimeHints() {
super(StructuredLoggingJsonProperties.class);
@Override
public void registerHints(RuntimeHints hints, ClassLoader classLoader) {
BindableRuntimeHintsRegistrar.forTypes(StructuredLoggingJsonProperties.class)
.registerHints(hints, classLoader);
}
}