1 /*
2  *
3  *  * Copyright 2019-2020 the original author or authors.
4  *  *
5  *  * Licensed under the Apache License, Version 2.0 (the "License");
6  *  * you may not use this file except in compliance with the License.
7  *  * You may obtain a copy of the License at
8  *  *
9  *  *      https://www.apache.org/licenses/LICENSE-2.0
10  *  *
11  *  * Unless required by applicable law or agreed to in writing, software
12  *  * distributed under the License is distributed on an "AS IS" BASIS,
13  *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *  * See the License for the specific language governing permissions and
15  *  * limitations under the License.
16  *
17  */

18
19 package org.springdoc.core;
20
21 import io.swagger.v3.oas.models.media.Schema;
22 import org.springdoc.api.AbstractOpenApiResource;
23 import org.springdoc.core.converters.AdditionalModelsConverter;
24 import org.springdoc.core.converters.ConverterUtils;
25
26 public class SpringDocUtils {
27
28     private static final SpringDocUtils springDocConfig = new SpringDocUtils();
29
30     private SpringDocUtils() {
31     }
32
33     public static SpringDocUtils getConfig() {
34         return springDocConfig;
35     }
36
37     public SpringDocUtils addDeprecatedType(Class<?> cls) {
38         AbstractOpenApiResource.addDeprecatedType(cls);
39         return this;
40     }
41
42     public SpringDocUtils addRestControllers(Class<?>... classes) {
43         AbstractOpenApiResource.addRestControllers(classes);
44         return this;
45     }
46
47     public SpringDocUtils addHiddenRestControllers(Class<?>... classes) {
48         AbstractOpenApiResource.addHiddenRestControllers(classes);
49         return this;
50     }
51
52     public SpringDocUtils replaceWithClass(Class source, Class target) {
53         AdditionalModelsConverter.replaceWithClass(source, target);
54         return this;
55     }
56
57     public SpringDocUtils replaceWithSchema(Class source, Schema target) {
58         AdditionalModelsConverter.replaceWithSchema(source, target);
59         return this;
60     }
61
62     public SpringDocUtils addRequestWrapperToIgnore(Class<?>... classes) {
63         AbstractRequestBuilder.addRequestWrapperToIgnore(classes);
64         return this;
65     }
66
67     public SpringDocUtils removeRequestWrapperToIgnore(Class<?>... classes) {
68         AbstractRequestBuilder.removeRequestWrapperToIgnore(classes);
69         return this;
70     }
71
72     public SpringDocUtils addFileType(Class<?>... classes) {
73         GenericParameterBuilder.addFileType(classes);
74         return this;
75     }
76
77     public SpringDocUtils addResponseWrapperToIgnore(Class<?> cls) {
78         ConverterUtils.addResponseWrapperToIgnore(cls);
79         return this;
80     }
81
82     public SpringDocUtils removeResponseWrapperToIgnore(Class<?> cls) {
83         ConverterUtils.removeResponseWrapperToIgnore(cls);
84         return this;
85     }
86
87     public SpringDocUtils addResponseTypeToIgnore(Class<?> cls) {
88         ConverterUtils.addResponseTypeToIgnore(cls);
89         return this;
90     }
91
92     public SpringDocUtils removeResponseTypeToIgnore(Class<?> cls) {
93         ConverterUtils.removeResponseTypeToIgnore(cls);
94         return this;
95     }
96
97     public SpringDocUtils addAnnotationsToIgnore(Class<?>... classes) {
98         GenericParameterBuilder.addAnnotationsToIgnore(classes);
99         return this;
100     }
101
102     public SpringDocUtils removeAnnotationsToIgnore(Class<?>... classes) {
103         GenericParameterBuilder.removeAnnotationsToIgnore(classes);
104         return this;
105     }
106 }
107
108