28
28
import java .util .Objects ;
29
29
import java .util .Optional ;
30
30
31
+ import org .springdoc .core .filters .GlobalOpenApiMethodFilter ;
31
32
import org .springdoc .core .filters .OpenApiMethodFilter ;
32
33
33
34
import org .springframework .beans .BeansException ;
39
40
import static org .springdoc .core .Constants .LINKS_SCHEMA_CUSTOMISER ;
40
41
41
42
/**
43
+ * The type Spring doc customizers.
44
+ *
42
45
* @author bnasslahsen
43
46
*/
44
47
public class SpringDocCustomizers implements ApplicationContextAware , InitializingBean {
@@ -65,6 +68,9 @@ public class SpringDocCustomizers implements ApplicationContextAware, Initializi
65
68
private final Optional <List <DataRestRouterOperationCustomizer >> dataRestRouterOperationCustomizers ;
66
69
67
70
71
+ /**
72
+ * The Context.
73
+ */
68
74
private ApplicationContext context ;
69
75
70
76
/**
@@ -73,6 +79,21 @@ public class SpringDocCustomizers implements ApplicationContextAware, Initializi
73
79
private final Optional <List <OpenApiMethodFilter >> methodFilters ;
74
80
75
81
82
+ /**
83
+ * The Global open api customizers.
84
+ */
85
+ private Optional <List <GlobalOpenApiCustomizer >> globalOpenApiCustomizers ;
86
+
87
+ /**
88
+ * The Global operation customizers.
89
+ */
90
+ private Optional <List <GlobalOperationCustomizer >> globalOperationCustomizers ;
91
+
92
+ /**
93
+ * The Global open api method filters.
94
+ */
95
+ private Optional <List <GlobalOpenApiMethodFilter >> globalOpenApiMethodFilters ;
96
+
76
97
/**
77
98
* Instantiates a new Spring doc customizers.
78
99
*
@@ -81,14 +102,22 @@ public class SpringDocCustomizers implements ApplicationContextAware, Initializi
81
102
* @param routerOperationCustomizers the router operation customizers
82
103
* @param dataRestRouterOperationCustomizers the data rest router operation customizers
83
104
* @param methodFilters the method filters
105
+ * @param globalOpenApiCustomizers the global open api customizers
106
+ * @param globalOperationCustomizers the global operation customizers
107
+ * @param globalOpenApiMethodFilters the global open api method filters
84
108
*/
85
109
public SpringDocCustomizers (Optional <List <OpenApiCustomiser >> openApiCustomizers ,
86
110
Optional <List <OperationCustomizer >> operationCustomizers ,
87
111
Optional <List <RouterOperationCustomizer >> routerOperationCustomizers ,
88
112
Optional <List <DataRestRouterOperationCustomizer >> dataRestRouterOperationCustomizers ,
89
- Optional <List <OpenApiMethodFilter >> methodFilters ) {
113
+ Optional <List <OpenApiMethodFilter >> methodFilters , Optional <List <GlobalOpenApiCustomizer >> globalOpenApiCustomizers ,
114
+ Optional <List <GlobalOperationCustomizer >> globalOperationCustomizers ,
115
+ Optional <List <GlobalOpenApiMethodFilter >> globalOpenApiMethodFilters ) {
90
116
this .openApiCustomizers = openApiCustomizers ;
91
117
this .operationCustomizers = operationCustomizers ;
118
+ this .globalOpenApiCustomizers = globalOpenApiCustomizers ;
119
+ this .globalOperationCustomizers = globalOperationCustomizers ;
120
+ this .globalOpenApiMethodFilters = globalOpenApiMethodFilters ;
92
121
operationCustomizers .ifPresent (customizers -> customizers .removeIf (Objects ::isNull ));
93
122
this .routerOperationCustomizers = routerOperationCustomizers ;
94
123
this .dataRestRouterOperationCustomizers = dataRestRouterOperationCustomizers ;
@@ -112,22 +141,47 @@ public SpringDocCustomizers(Optional<List<OpenApiCustomiser>> openApiCustomizers
112
141
this .dataRestRouterOperationCustomizers = Optional .empty ();
113
142
}
114
143
144
+ /**
145
+ * Gets open api customizers.
146
+ *
147
+ * @return the open api customizers
148
+ */
115
149
public Optional <List <OpenApiCustomiser >> getOpenApiCustomizers () {
116
150
return openApiCustomizers ;
117
151
}
118
152
153
+ /**
154
+ * Gets operation customizers.
155
+ *
156
+ * @return the operation customizers
157
+ */
119
158
public Optional <List <OperationCustomizer >> getOperationCustomizers () {
120
159
return operationCustomizers ;
121
160
}
122
161
162
+ /**
163
+ * Gets router operation customizers.
164
+ *
165
+ * @return the router operation customizers
166
+ */
123
167
public Optional <List <RouterOperationCustomizer >> getRouterOperationCustomizers () {
124
168
return routerOperationCustomizers ;
125
169
}
126
170
171
+ /**
172
+ * Gets data rest router operation customizers.
173
+ *
174
+ * @return the data rest router operation customizers
175
+ */
127
176
public Optional <List <DataRestRouterOperationCustomizer >> getDataRestRouterOperationCustomizers () {
128
177
return dataRestRouterOperationCustomizers ;
129
178
}
130
179
180
+ /**
181
+ * Gets method filters.
182
+ *
183
+ * @return the method filters
184
+ */
131
185
public Optional <List <OpenApiMethodFilter >> getMethodFilters () {
132
186
return methodFilters ;
133
187
}
@@ -144,4 +198,31 @@ public void afterPropertiesSet() {
144
198
if (!CollectionUtils .isEmpty (existingOpenApiCustomizers ) && existingOpenApiCustomizers .containsKey (LINKS_SCHEMA_CUSTOMISER ))
145
199
this .openApiCustomizers .ifPresent (openApiCustomizersList -> openApiCustomizersList .add (existingOpenApiCustomizers .get (LINKS_SCHEMA_CUSTOMISER )));
146
200
}
201
+
202
+ /**
203
+ * Gets global open api customizers.
204
+ *
205
+ * @return the global open api customizers
206
+ */
207
+ public Optional <List <GlobalOpenApiCustomizer >> getGlobalOpenApiCustomizers () {
208
+ return globalOpenApiCustomizers ;
209
+ }
210
+
211
+ /**
212
+ * Gets global operation customizers.
213
+ *
214
+ * @return the global operation customizers
215
+ */
216
+ public Optional <List <GlobalOperationCustomizer >> getGlobalOperationCustomizers () {
217
+ return globalOperationCustomizers ;
218
+ }
219
+
220
+ /**
221
+ * Gets global open api method filters.
222
+ *
223
+ * @return the global open api method filters
224
+ */
225
+ public Optional <List <GlobalOpenApiMethodFilter >> getGlobalOpenApiMethodFilters () {
226
+ return globalOpenApiMethodFilters ;
227
+ }
147
228
}
0 commit comments