Skip to content

Commit aa2ab9e

Browse files
committed
Update to record
1 parent ce2a473 commit aa2ab9e

File tree

5 files changed

+16
-60
lines changed

5 files changed

+16
-60
lines changed

spring-annotated-data-binder-core/src/main/java/com/mattbertolini/spring/web/bind/introspect/ResolvedPropertyData.java

Lines changed: 4 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -17,51 +17,7 @@
1717

1818
import com.mattbertolini.spring.web.bind.resolver.RequestPropertyResolverBase;
1919

20-
import java.util.Objects;
21-
22-
public final class ResolvedPropertyData {
23-
private final String propertyName;
24-
private final BindingProperty bindingProperty;
25-
private final RequestPropertyResolverBase<?, ?> resolver;
26-
27-
public ResolvedPropertyData(
28-
String propertyName,
29-
BindingProperty bindingProperty,
30-
RequestPropertyResolverBase<?, ?> resolver
31-
) {
32-
this.propertyName = propertyName;
33-
this.bindingProperty = bindingProperty;
34-
this.resolver = resolver;
35-
}
36-
37-
public String getPropertyName() {
38-
return propertyName;
39-
}
40-
41-
public BindingProperty getBindingProperty() {
42-
return bindingProperty;
43-
}
44-
45-
public RequestPropertyResolverBase<?, ?> getResolver() {
46-
return resolver;
47-
}
48-
49-
@Override
50-
public boolean equals(Object o) {
51-
if (this == o) {
52-
return true;
53-
}
54-
if (!(o instanceof ResolvedPropertyData)) {
55-
return false;
56-
}
57-
ResolvedPropertyData that = (ResolvedPropertyData) o;
58-
return Objects.equals(propertyName, that.propertyName) &&
59-
Objects.equals(bindingProperty, that.bindingProperty) &&
60-
Objects.equals(resolver, that.resolver);
61-
}
62-
63-
@Override
64-
public int hashCode() {
65-
return Objects.hash(propertyName, bindingProperty, resolver);
66-
}
67-
}
20+
public record ResolvedPropertyData(
21+
String propertyName,
22+
BindingProperty bindingProperty,
23+
RequestPropertyResolverBase<?, ?> resolver) {}

spring-annotated-data-binder-core/src/test/java/com/mattbertolini/spring/web/bind/introspect/DefaultAnnotatedRequestBeanIntrospectorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ void returnsResolversForType() {
5252
Collection<ResolvedPropertyData> resolvers = introspector.getResolversFor(SimpleType.class);
5353
assertThat(resolvers).hasSize(1);
5454
ResolvedPropertyData data = resolvers.iterator().next();
55-
assertThat(data.getPropertyName()).isEqualTo("data");
55+
assertThat(data.propertyName()).isEqualTo("data");
5656
}
5757

5858
@Test
@@ -62,7 +62,7 @@ void returnsResolversUsingNestedTypes() {
6262
Collection<ResolvedPropertyData> resolvers = introspector.getResolversFor(OuterBean.class);
6363
assertThat(resolvers).hasSize(1);
6464
ResolvedPropertyData data = resolvers.iterator().next();
65-
assertThat(data.getPropertyName()).isEqualTo("innerBean.inner");
65+
assertThat(data.propertyName()).isEqualTo("innerBean.inner");
6666
}
6767

6868
private static class FakeResolver implements RequestPropertyResolverBase<Void, Object> {

spring-annotated-data-binder-core/src/test/java/com/mattbertolini/spring/web/bind/introspect/ResolvedPropertyDataTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,20 +39,20 @@ void setUp() throws Exception {
3939

4040
@Test
4141
void returnsPropertyName() {
42-
assertThat(propertyData.getPropertyName()).isEqualTo("name");
42+
assertThat(propertyData.propertyName()).isEqualTo("name");
4343
}
4444

4545
@Test
4646
void returnsBindingProperty() throws Exception {
4747
BindingProperty expected = BindingProperty.forPropertyDescriptor(
4848
new PropertyDescriptor("property", TestingClass.class));
49-
assertThat(propertyData.getBindingProperty()).isEqualTo(expected);
49+
assertThat(propertyData.bindingProperty()).isEqualTo(expected);
5050
}
5151

5252
@Test
5353
void returnsResolver() {
54-
assertThat(propertyData.getResolver()).isNotNull();
55-
assertThat(propertyData.getResolver()).isInstanceOf(StubResolver.class);
54+
assertThat(propertyData.resolver()).isNotNull();
55+
assertThat(propertyData.resolver()).isInstanceOf(StubResolver.class);
5656
}
5757

5858
@Test

spring-webflux-annotated-data-binder/src/main/java/com/mattbertolini/spring/web/reactive/bind/BeanParameterMethodArgumentResolver.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,9 +78,9 @@ protected Mono<Void> bindRequestParameters(WebExchangeDataBinder binder, ServerW
7878

7979
private Mono<Map<String, Object>> getValuesToBind(Collection<ResolvedPropertyData> propertyData, ServerWebExchange exchange) {
8080
return Flux.fromIterable(propertyData).flatMap(data -> {
81-
BindingProperty bindingProperty = data.getBindingProperty();
82-
RequestPropertyResolver resolver = (RequestPropertyResolver) data.getResolver();
83-
return resolver.resolve(bindingProperty, exchange).map(resolvedValue -> Tuples.of(data.getPropertyName(), resolvedValue));
81+
BindingProperty bindingProperty = data.bindingProperty();
82+
RequestPropertyResolver resolver = (RequestPropertyResolver) data.resolver();
83+
return resolver.resolve(bindingProperty, exchange).map(resolvedValue -> Tuples.of(data.propertyName(), resolvedValue));
8484
}).collectMap(Tuple2::getT1, Tuple2::getT2)
8585
.onErrorMap(e -> new RequestPropertyBindingException("Unable to resolve property. " + e.getMessage(), e))
8686
.doOnSuccess(valuesMap -> valuesMap.values().removeIf(Objects::isNull));

spring-webmvc-annotated-data-binder/src/main/java/com/mattbertolini/spring/web/servlet/mvc/bind/BeanParameterMethodArgumentResolver.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,11 +84,11 @@ private Map<String, Object> getValuesToBind(Class<?> targetType, NativeWebReques
8484
Map<String, Object> values = new HashMap<>();
8585
Collection<ResolvedPropertyData> propertyData = introspector.getResolversFor(targetType);
8686
for (ResolvedPropertyData data : propertyData) {
87-
RequestPropertyResolver resolver = (RequestPropertyResolver) data.getResolver();
87+
RequestPropertyResolver resolver = (RequestPropertyResolver) data.resolver();
8888
try {
89-
Object value = resolver.resolve(data.getBindingProperty(), request);
89+
Object value = resolver.resolve(data.bindingProperty(), request);
9090
if (value != null) {
91-
String propertyName = data.getPropertyName();
91+
String propertyName = data.propertyName();
9292
values.put(propertyName, value);
9393
}
9494
} catch (Exception e) {

0 commit comments

Comments
 (0)