1
1
/*
2
- * Copyright 2002-2022 the original author or authors.
2
+ * Copyright 2002-2024 the original author or authors.
3
3
*
4
4
* Licensed under the Apache License, Version 2.0 (the "License");
5
5
* you may not use this file except in compliance with the License.
37
37
import org .springframework .util .StreamUtils ;
38
38
39
39
/**
40
- * Implementation of {@link HttpMessageConverter} that can write a single {@link ResourceRegion},
41
- * or Collections of {@link ResourceRegion ResourceRegions}.
40
+ * Implementation of {@link HttpMessageConverter} that can write a single
41
+ * {@link ResourceRegion} or Collections of {@link ResourceRegion ResourceRegions}.
42
42
*
43
43
* @author Brian Clozel
44
44
* @author Juergen Hoeller
@@ -51,22 +51,6 @@ public ResourceRegionHttpMessageConverter() {
51
51
}
52
52
53
53
54
- @ Override
55
- @ SuppressWarnings ("unchecked" )
56
- protected MediaType getDefaultContentType (Object object ) {
57
- Resource resource = null ;
58
- if (object instanceof ResourceRegion ) {
59
- resource = ((ResourceRegion ) object ).getResource ();
60
- }
61
- else {
62
- Collection <ResourceRegion > regions = (Collection <ResourceRegion >) object ;
63
- if (!regions .isEmpty ()) {
64
- resource = regions .iterator ().next ().getResource ();
65
- }
66
- }
67
- return MediaTypeFactory .getMediaType (resource ).orElse (MediaType .APPLICATION_OCTET_STREAM );
68
- }
69
-
70
54
@ Override
71
55
public boolean canRead (Class <?> clazz , @ Nullable MediaType mediaType ) {
72
56
return false ;
@@ -123,24 +107,40 @@ public boolean canWrite(@Nullable Type type, @Nullable Class<?> clazz, @Nullable
123
107
}
124
108
125
109
@ Override
126
- @ SuppressWarnings ("unchecked" )
127
110
protected void writeInternal (Object object , @ Nullable Type type , HttpOutputMessage outputMessage )
128
111
throws IOException , HttpMessageNotWritableException {
129
112
130
113
if (object instanceof ResourceRegion ) {
131
114
writeResourceRegion ((ResourceRegion ) object , outputMessage );
132
115
}
133
116
else {
117
+ @ SuppressWarnings ("unchecked" )
134
118
Collection <ResourceRegion > regions = (Collection <ResourceRegion >) object ;
135
119
if (regions .size () == 1 ) {
136
120
writeResourceRegion (regions .iterator ().next (), outputMessage );
137
121
}
138
122
else {
139
- writeResourceRegionCollection (( Collection < ResourceRegion >) object , outputMessage );
123
+ writeResourceRegionCollection (regions , outputMessage );
140
124
}
141
125
}
142
126
}
143
127
128
+ @ Override
129
+ protected MediaType getDefaultContentType (Object object ) {
130
+ Resource resource = null ;
131
+ if (object instanceof ResourceRegion ) {
132
+ resource = ((ResourceRegion ) object ).getResource ();
133
+ }
134
+ else {
135
+ @ SuppressWarnings ("unchecked" )
136
+ Collection <ResourceRegion > regions = (Collection <ResourceRegion >) object ;
137
+ if (!regions .isEmpty ()) {
138
+ resource = regions .iterator ().next ().getResource ();
139
+ }
140
+ }
141
+ return MediaTypeFactory .getMediaType (resource ).orElse (MediaType .APPLICATION_OCTET_STREAM );
142
+ }
143
+
144
144
145
145
protected void writeResourceRegion (ResourceRegion region , HttpOutputMessage outputMessage ) throws IOException {
146
146
Assert .notNull (region , "ResourceRegion must not be null" );
0 commit comments