Skip to content

Commit 94cc2da

Browse files
vpavicsbrannen
authored andcommitted
Update LocaleContextResolver to implement LocaleResolver
This commit updates LocaleContextResolver to implement LocaleResolver using default methods, which simplifies AbstractLocaleContextResolver and aligns it more closely with AbstractLocaleResolver. See gh-27609
1 parent 9a0eb8d commit 94cc2da

File tree

2 files changed

+15
-20
lines changed

2 files changed

+15
-20
lines changed

spring-webmvc/src/main/java/org/springframework/web/servlet/LocaleContextResolver.java

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,12 +22,16 @@
2222
import jakarta.servlet.http.HttpServletResponse;
2323

2424
import org.springframework.context.i18n.LocaleContext;
25+
import org.springframework.context.i18n.SimpleLocaleContext;
2526
import org.springframework.lang.Nullable;
2627

2728
/**
2829
* Extension of {@link LocaleResolver} that adds support for a rich locale context
2930
* (potentially including locale and time zone information).
3031
*
32+
* <p>Also provides pre-implemented versions of {@link #resolveLocale} and {@link #setLocale},
33+
* delegating to {@link #resolveLocaleContext} and {@link #setLocaleContext}.
34+
*
3135
* @author Juergen Hoeller
3236
* @since 4.0
3337
* @see org.springframework.context.i18n.LocaleContext
@@ -73,4 +77,15 @@ public interface LocaleContextResolver extends LocaleResolver {
7377
void setLocaleContext(HttpServletRequest request, @Nullable HttpServletResponse response,
7478
@Nullable LocaleContext localeContext);
7579

80+
@Override
81+
default Locale resolveLocale(HttpServletRequest request) {
82+
Locale locale = resolveLocaleContext(request).getLocale();
83+
return (locale != null ? locale : request.getLocale());
84+
}
85+
86+
@Override
87+
default void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable Locale locale) {
88+
setLocaleContext(request, response, (locale != null ? new SimpleLocaleContext(locale) : null));
89+
}
90+
7691
}

spring-webmvc/src/main/java/org/springframework/web/servlet/i18n/AbstractLocaleContextResolver.java

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,8 @@
1616

1717
package org.springframework.web.servlet.i18n;
1818

19-
import java.util.Locale;
2019
import java.util.TimeZone;
2120

22-
import jakarta.servlet.http.HttpServletRequest;
23-
import jakarta.servlet.http.HttpServletResponse;
24-
25-
import org.springframework.context.i18n.SimpleLocaleContext;
2621
import org.springframework.lang.Nullable;
2722
import org.springframework.web.servlet.LocaleContextResolver;
2823

@@ -32,9 +27,6 @@
3227
* <p>Provides support for a {@linkplain #setDefaultLocale(Locale) default locale}
3328
* and a {@linkplain #setDefaultTimeZone(TimeZone) default time zone}.
3429
*
35-
* <p>Also provides pre-implemented versions of {@link #resolveLocale} and {@link #setLocale},
36-
* delegating to {@link #resolveLocaleContext} and {@link #setLocaleContext}.
37-
*
3830
* @author Juergen Hoeller
3931
* @since 4.0
4032
* @see #setDefaultLocale
@@ -63,16 +55,4 @@ public TimeZone getDefaultTimeZone() {
6355
return this.defaultTimeZone;
6456
}
6557

66-
67-
@Override
68-
public Locale resolveLocale(HttpServletRequest request) {
69-
Locale locale = resolveLocaleContext(request).getLocale();
70-
return (locale != null ? locale : request.getLocale());
71-
}
72-
73-
@Override
74-
public void setLocale(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable Locale locale) {
75-
setLocaleContext(request, response, (locale != null ? new SimpleLocaleContext(locale) : null));
76-
}
77-
7858
}

0 commit comments

Comments
 (0)