Apply "instance of patten matching" in context and messaging modules

Closes gh-29994
This commit is contained in:
divcon 2023-02-19 16:10:22 +09:00 committed by Sam Brannen
parent 7c50464bba
commit 40672c3715
4 changed files with 22 additions and 22 deletions

View File

@ -760,8 +760,8 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
* @see #doBind(org.springframework.beans.MutablePropertyValues)
*/
public void bind(PropertyValues pvs) {
MutablePropertyValues mpvs = (pvs instanceof MutablePropertyValues ?
(MutablePropertyValues) pvs : new MutablePropertyValues(pvs));
MutablePropertyValues mpvs = (pvs instanceof MutablePropertyValues mutablePropertyValues ?
mutablePropertyValues : new MutablePropertyValues(pvs));
doBind(mpvs);
}
@ -925,8 +925,8 @@ public class DataBinder implements PropertyEditorRegistry, TypeConverter {
BindingResult bindingResult = getBindingResult();
// Call each validator with the same binding result
for (Validator validator : getValidators()) {
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator) {
((SmartValidator) validator).validate(target, bindingResult, validationHints);
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator smartValidator) {
smartValidator.validate(target, bindingResult, validationHints);
}
else if (validator != null) {
validator.validate(target, bindingResult);

View File

@ -82,8 +82,8 @@ public abstract class ValidationUtils {
"Validator [" + validator.getClass() + "] does not support [" + target.getClass() + "]");
}
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator) {
((SmartValidator) validator).validate(target, errors, validationHints);
if (!ObjectUtils.isEmpty(validationHints) && validator instanceof SmartValidator smartValidator) {
smartValidator.validate(target, errors, validationHints);
}
else {
validator.validate(target, errors);

View File

@ -170,13 +170,13 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
@SuppressWarnings("unchecked")
private Flux<DataBuffer> extractContent(MethodParameter parameter, Message<?> message) {
Object payload = message.getPayload();
if (payload instanceof DataBuffer) {
return Flux.just((DataBuffer) payload);
if (payload instanceof DataBuffer dataBuffer) {
return Flux.just(dataBuffer);
}
if (payload instanceof Publisher) {
return Flux.from((Publisher<?>) payload).map(value -> {
if (value instanceof DataBuffer) {
return (DataBuffer) value;
if (payload instanceof Publisher<?> publisher) {
return Flux.from(publisher).map(value -> {
if (value instanceof DataBuffer dataBuffer) {
return dataBuffer;
}
String className = value.getClass().getName();
throw getUnexpectedPayloadError(message, parameter, "Publisher<" + className + ">");
@ -204,11 +204,11 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
if (headerValue == null) {
return null;
}
else if (headerValue instanceof String) {
return MimeTypeUtils.parseMimeType((String) headerValue);
else if (headerValue instanceof String stringHeader) {
return MimeTypeUtils.parseMimeType(stringHeader);
}
else if (headerValue instanceof MimeType) {
return (MimeType) headerValue;
else if (headerValue instanceof MimeType mimeTypeHeader) {
return mimeTypeHeader;
}
else {
throw new IllegalArgumentException("Unexpected MimeType value: " + headerValue);
@ -290,12 +290,12 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class);
if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) {
Object hints = (validatedAnn != null ? validatedAnn.value() : AnnotationUtils.getValue(ann));
Object[] validationHints = (hints instanceof Object[] ? (Object[]) hints : new Object[] {hints});
Object[] validationHints = (hints instanceof Object[] objectHint ? objectHint : new Object[] {hints});
String name = Conventions.getVariableNameForParameter(parameter);
return target -> {
BeanPropertyBindingResult bindingResult = new BeanPropertyBindingResult(target, name);
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator) {
((SmartValidator) this.validator).validate(target, bindingResult, validationHints);
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator sv) {
sv.validate(target, bindingResult, validationHints);
}
else {
this.validator.validate(target, bindingResult);

View File

@ -216,11 +216,11 @@ public class PayloadMethodArgumentResolver implements HandlerMethodArgumentResol
Validated validatedAnn = AnnotationUtils.getAnnotation(ann, Validated.class);
if (validatedAnn != null || ann.annotationType().getSimpleName().startsWith("Valid")) {
Object hints = (validatedAnn != null ? validatedAnn.value() : AnnotationUtils.getValue(ann));
Object[] validationHints = (hints instanceof Object[] ? (Object[]) hints : new Object[] {hints});
Object[] validationHints = (hints instanceof Object[] objectHint ? objectHint : new Object[] {hints});
BeanPropertyBindingResult bindingResult =
new BeanPropertyBindingResult(target, getParameterName(parameter));
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator) {
((SmartValidator) this.validator).validate(target, bindingResult, validationHints);
if (!ObjectUtils.isEmpty(validationHints) && this.validator instanceof SmartValidator sv) {
sv.validate(target, bindingResult, validationHints);
}
else {
this.validator.validate(target, bindingResult);