17
17
*/
18
18
public class SimpleGraphQLServlet extends GraphQLServlet {
19
19
20
+ /**
21
+ * @deprecated use {@link #builder()} instead.
22
+ */
23
+ @ Deprecated
20
24
public SimpleGraphQLServlet (GraphQLSchema schema ) {
21
25
this (schema , new DefaultExecutionStrategyProvider ());
22
26
}
23
27
28
+ /**
29
+ * @deprecated use {@link #builder()} instead.
30
+ */
31
+ @ Deprecated
24
32
public SimpleGraphQLServlet (GraphQLSchema schema , ExecutionStrategy executionStrategy ) {
25
33
this (schema , new DefaultExecutionStrategyProvider (executionStrategy ));
26
34
}
27
35
36
+ /**
37
+ * @deprecated use {@link #builder()} instead.
38
+ */
39
+ @ Deprecated
28
40
public SimpleGraphQLServlet (GraphQLSchema schema , ExecutionStrategyProvider executionStrategyProvider ) {
29
41
this (schema , executionStrategyProvider , null , null , null , null , null , null , null );
30
42
}
31
43
44
+ /**
45
+ * @deprecated use {@link #builder()} instead.
46
+ */
47
+ @ Deprecated
32
48
public SimpleGraphQLServlet (final GraphQLSchema schema , ExecutionStrategyProvider executionStrategyProvider , ObjectMapperConfigurer objectMapperConfigurer , List <GraphQLServletListener > listeners , Instrumentation instrumentation , GraphQLErrorHandler errorHandler , GraphQLContextBuilder contextBuilder , GraphQLRootObjectBuilder rootObjectBuilder , PreparsedDocumentProvider preparsedDocumentProvider ) {
33
49
this (new DefaultGraphQLSchemaProvider (schema ), executionStrategyProvider , objectMapperConfigurer , listeners , instrumentation , errorHandler , contextBuilder , rootObjectBuilder , preparsedDocumentProvider );
34
50
}
35
51
52
+ /**
53
+ * @deprecated use {@link #builder()} instead.
54
+ */
55
+ @ Deprecated
36
56
public SimpleGraphQLServlet (GraphQLSchemaProvider schemaProvider , ExecutionStrategyProvider executionStrategyProvider , ObjectMapperConfigurer objectMapperConfigurer , List <GraphQLServletListener > listeners , Instrumentation instrumentation , GraphQLErrorHandler errorHandler , GraphQLContextBuilder contextBuilder , GraphQLRootObjectBuilder rootObjectBuilder , PreparsedDocumentProvider preparsedDocumentProvider ) {
37
57
super (objectMapperConfigurer , listeners , null );
38
58
@@ -70,6 +90,18 @@ public SimpleGraphQLServlet(GraphQLSchemaProvider schemaProvider, ExecutionStrat
70
90
}
71
91
}
72
92
93
+ private SimpleGraphQLServlet (Builder builder ) {
94
+ super (builder .objectMapperConfigurer , builder .listeners , null );
95
+
96
+ this .schemaProvider = builder .schemaProvider ;
97
+ this .executionStrategyProvider = builder .executionStrategyProvider ;
98
+ this .instrumentation = builder .instrumentation ;
99
+ this .errorHandler = builder .errorHandler ;
100
+ this .contextBuilder = builder .contextBuilder ;
101
+ this .rootObjectBuilder = builder .rootObjectBuilder ;
102
+ this .preparsedDocumentProvider = builder .preparsedDocumentProvider ;
103
+ }
104
+
73
105
private final GraphQLSchemaProvider schemaProvider ;
74
106
private final ExecutionStrategyProvider executionStrategyProvider ;
75
107
private final Instrumentation instrumentation ;
@@ -78,6 +110,69 @@ public SimpleGraphQLServlet(GraphQLSchemaProvider schemaProvider, ExecutionStrat
78
110
private final GraphQLRootObjectBuilder rootObjectBuilder ;
79
111
private final PreparsedDocumentProvider preparsedDocumentProvider ;
80
112
113
+ public static SimpleGraphQLServlet create (GraphQLSchema schema ) {
114
+ return new Builder (schema ).build ();
115
+ }
116
+
117
+ public static Builder builder (GraphQLSchema schema ) {
118
+ return new Builder (schema );
119
+ }
120
+
121
+ public static class Builder {
122
+ private final GraphQLSchemaProvider schemaProvider ;
123
+ private ExecutionStrategyProvider executionStrategyProvider = new DefaultExecutionStrategyProvider ();
124
+ private ObjectMapperConfigurer objectMapperConfigurer ;
125
+ private List <GraphQLServletListener > listeners ;
126
+ private Instrumentation instrumentation = NoOpInstrumentation .INSTANCE ;
127
+ private GraphQLErrorHandler errorHandler = new DefaultGraphQLErrorHandler ();
128
+ private GraphQLContextBuilder contextBuilder = new DefaultGraphQLContextBuilder ();
129
+ private GraphQLRootObjectBuilder rootObjectBuilder = new DefaultGraphQLRootObjectBuilder ();
130
+ private PreparsedDocumentProvider preparsedDocumentProvider = NoOpPreparsedDocumentProvider .INSTANCE ;
131
+
132
+ public Builder (GraphQLSchema schema ) {
133
+ this .schemaProvider = new DefaultGraphQLSchemaProvider (schema );
134
+ }
135
+
136
+ public Builder withExecutionStrategyProvider (ExecutionStrategyProvider provider ) {
137
+ this .executionStrategyProvider = provider ;
138
+ return this ;
139
+ }
140
+
141
+ public Builder withObjectMapperConfigurer (ObjectMapperConfigurer configurer ) {
142
+ this .objectMapperConfigurer = configurer ;
143
+ return this ;
144
+ }
145
+
146
+ public Builder withInstrumentation (Instrumentation instrumentation ) {
147
+ this .instrumentation = instrumentation ;
148
+ return this ;
149
+ }
150
+
151
+ public Builder withGraphQLErrorHandler (GraphQLErrorHandler handler ) {
152
+ this .errorHandler = handler ;
153
+ return this ;
154
+ }
155
+
156
+ public Builder withGraphQLContextBuilder (GraphQLContextBuilder context ) {
157
+ this .contextBuilder = context ;
158
+ return this ;
159
+ }
160
+
161
+ public Builder withGraphQLRootObjectBuilder (GraphQLRootObjectBuilder rootObject ) {
162
+ this .rootObjectBuilder = rootObject ;
163
+ return this ;
164
+ }
165
+
166
+ public Builder withPreparsedDocumentProvider (PreparsedDocumentProvider provider ) {
167
+ this .preparsedDocumentProvider = provider ;
168
+ return this ;
169
+ }
170
+
171
+ public SimpleGraphQLServlet build () {
172
+ return new SimpleGraphQLServlet (this );
173
+ }
174
+ }
175
+
81
176
@ Override
82
177
protected GraphQLSchemaProvider getSchemaProvider () {
83
178
return schemaProvider ;
0 commit comments