001// ***************************************************************************************************************************
002// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.  See the NOTICE file *
003// * distributed with this work for additional information regarding copyright ownership.  The ASF licenses this file        *
004// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance            *
005// * with the License.  You may obtain a copy of the License at                                                              *
006// *                                                                                                                         *
007// *  http://www.apache.org/licenses/LICENSE-2.0                                                                             *
008// *                                                                                                                         *
009// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an  *
010// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  See the License for the        *
011// * specific language governing permissions and limitations under the License.                                              *
012// ***************************************************************************************************************************
013package org.apache.juneau.oapi;
014
015import java.nio.charset.*;
016import java.util.*;
017
018import org.apache.juneau.*;
019import org.apache.juneau.http.*;
020import org.apache.juneau.parser.*;
021import org.apache.juneau.reflect.*;
022import org.apache.juneau.svl.*;
023import org.apache.juneau.uon.*;
024
025/**
026 * Builder class for building instances of {@link OpenApiParser}.
027 */
028public class OpenApiParserBuilder extends UonParserBuilder {
029
030   /**
031    * Constructor, default settings.
032    */
033   public OpenApiParserBuilder() {
034      super();
035   }
036
037   /**
038    * Constructor.
039    *
040    * @param ps The initial configuration settings for this builder.
041    */
042   public OpenApiParserBuilder(PropertyStore ps) {
043      super(ps);
044   }
045
046   @Override /* ContextBuilder */
047   public OpenApiParser build() {
048      return build(OpenApiParser.class);
049   }
050
051   //-----------------------------------------------------------------------------------------------------------------
052   // Properties
053   //-----------------------------------------------------------------------------------------------------------------
054
055   @Override /* UonParserBuilder */
056   public OpenApiParserBuilder decoding(boolean value) {
057      return set(UonParser.UON_decoding, value);
058   }
059
060   @Override /* ParserBuilder */
061   public OpenApiParserBuilder fileCharset(Charset value) {
062      return this;
063   }
064
065   @Override /* ParserBuilder */
066   public OpenApiParserBuilder streamCharset(Charset value) {
067      super.streamCharset(value);
068      return this;
069   }
070
071   @Override /* ParserBuilder */
072   public OpenApiParserBuilder listener(Class<? extends ParserListener> value) {
073      super.listener(value);
074      return this;
075   }
076
077   @Override /* ParserBuilder */
078   public OpenApiParserBuilder strict(boolean value) {
079      super.strict(value);
080      return this;
081   }
082
083   @Override /* ParserBuilder */
084   public OpenApiParserBuilder strict() {
085      super.strict();
086      return this;
087   }
088
089   @Override /* ParserBuilder */
090   public OpenApiParserBuilder trimStrings(boolean value) {
091      super.trimStrings(value);
092      return this;
093   }
094
095   @Override /* ParserBuilder */
096   public OpenApiParserBuilder trimStrings() {
097      super.trimStrings();
098      return this;
099   }
100
101   @Override /* BeanContextBuilder */
102   public OpenApiParserBuilder beanClassVisibility(Visibility value) {
103      super.beanClassVisibility(value);
104      return this;
105   }
106
107   @Override /* BeanContextBuilder */
108   public OpenApiParserBuilder beanConstructorVisibility(Visibility value) {
109      super.beanConstructorVisibility(value);
110      return this;
111   }
112
113   @Override /* BeanContextBuilder */
114   @Deprecated
115   public OpenApiParserBuilder beanDictionary(Class<?>...values) {
116      super.beanDictionary(values);
117      return this;
118   }
119
120   @Override /* BeanContextBuilder */
121   @Deprecated
122   public OpenApiParserBuilder beanDictionary(Object...values) {
123      super.beanDictionary(values);
124      return this;
125   }
126
127   @Override /* BeanContextBuilder */
128   @Deprecated
129   public OpenApiParserBuilder beanDictionaryReplace(Class<?>...values) {
130      super.beanDictionaryReplace(values);
131      return this;
132   }
133
134   @Override /* BeanContextBuilder */
135   @Deprecated
136   public OpenApiParserBuilder beanDictionaryReplace(Object...values) {
137      super.beanDictionaryReplace(values);
138      return this;
139   }
140
141   @Override /* BeanContextBuilder */
142   @Deprecated
143   public OpenApiParserBuilder beanDictionaryRemove(Class<?>...values) {
144      super.beanDictionaryRemove(values);
145      return this;
146   }
147
148   @Override /* BeanContextBuilder */
149   @Deprecated
150   public OpenApiParserBuilder beanDictionaryRemove(Object...values) {
151      super.beanDictionaryRemove(values);
152      return this;
153   }
154
155   @Override /* BeanContextBuilder */
156   public OpenApiParserBuilder beanFieldVisibility(Visibility value) {
157      super.beanFieldVisibility(value);
158      return this;
159   }
160
161   @Override /* BeanContextBuilder */
162   public OpenApiParserBuilder beanFilters(Class<?>...values) {
163      super.beanFilters(values);
164      return this;
165   }
166
167   @Override /* BeanContextBuilder */
168   public OpenApiParserBuilder beanFilters(Object...values) {
169      super.beanFilters(values);
170      return this;
171   }
172
173   @Override /* BeanContextBuilder */
174   public OpenApiParserBuilder beanFiltersReplace(Class<?>...values) {
175      super.beanFiltersReplace(values);
176      return this;
177   }
178
179   @Override /* BeanContextBuilder */
180   public OpenApiParserBuilder beanFiltersReplace(Object...values) {
181      super.beanFiltersReplace(values);
182      return this;
183   }
184
185   @Override /* BeanContextBuilder */
186   public OpenApiParserBuilder beanFiltersRemove(Class<?>...values) {
187      super.beanFiltersRemove(values);
188      return this;
189   }
190
191   @Override /* BeanContextBuilder */
192   public OpenApiParserBuilder beanFiltersRemove(Object...values) {
193      super.beanFiltersRemove(values);
194      return this;
195   }
196
197   @Override /* BeanContextBuilder */
198   public OpenApiParserBuilder beanMapPutReturnsOldValue(boolean value) {
199      super.beanMapPutReturnsOldValue(value);
200      return this;
201   }
202
203   @Override /* BeanContextBuilder */
204   public OpenApiParserBuilder beanMapPutReturnsOldValue() {
205      super.beanMapPutReturnsOldValue();
206      return this;
207   }
208
209   @Override /* BeanContextBuilder */
210   public OpenApiParserBuilder beanMethodVisibility(Visibility value) {
211      super.beanMethodVisibility(value);
212      return this;
213   }
214
215   @Override /* BeanContextBuilder */
216   public OpenApiParserBuilder beansRequireDefaultConstructor(boolean value) {
217      super.beansRequireDefaultConstructor(value);
218      return this;
219   }
220
221   @Override /* BeanContextBuilder */
222   public OpenApiParserBuilder beansRequireDefaultConstructor() {
223      super.beansRequireDefaultConstructor();
224      return this;
225   }
226
227   @Override /* BeanContextBuilder */
228   public OpenApiParserBuilder beansRequireSerializable(boolean value) {
229      super.beansRequireSerializable(value);
230      return this;
231   }
232
233   @Override /* BeanContextBuilder */
234   public OpenApiParserBuilder beansRequireSerializable() {
235      super.beansRequireSerializable();
236      return this;
237   }
238
239   @Override /* BeanContextBuilder */
240   public OpenApiParserBuilder beansRequireSettersForGetters(boolean value) {
241      super.beansRequireSettersForGetters(value);
242      return this;
243   }
244
245   @Override /* BeanContextBuilder */
246   public OpenApiParserBuilder beansRequireSettersForGetters() {
247      super.beansRequireSettersForGetters();
248      return this;
249   }
250
251   @Override /* BeanContextBuilder */
252   public OpenApiParserBuilder beansRequireSomeProperties(boolean value) {
253      super.beansRequireSomeProperties(value);
254      return this;
255   }
256
257   @Override /* BeanContextBuilder */
258   public OpenApiParserBuilder beanTypePropertyName(String value) {
259      super.beanTypePropertyName(value);
260      return this;
261   }
262
263   @Override /* BeanContextBuilder */
264   public OpenApiParserBuilder bpi(Class<?> beanClass, String value) {
265      super.bpi(beanClass, value);
266      return this;
267   }
268
269   @Override /* BeanContextBuilder */
270   public OpenApiParserBuilder bpi(Map<String,String> values) {
271      super.bpi(values);
272      return this;
273   }
274
275   @Override /* BeanContextBuilder */
276   public OpenApiParserBuilder bpi(String beanClassName, String value) {
277      super.bpi(beanClassName, value);
278      return this;
279   }
280
281   @Override /* BeanContextBuilder */
282   public OpenApiParserBuilder bpx(Class<?> beanClass, String properties) {
283      super.bpx(beanClass, properties);
284      return this;
285   }
286
287   @Override /* BeanContextBuilder */
288   public OpenApiParserBuilder bpx(Map<String,String> values) {
289      super.bpx(values);
290      return this;
291   }
292
293   @Override /* BeanContextBuilder */
294   public OpenApiParserBuilder bpx(String beanClassName, String value) {
295      super.bpx(beanClassName, value);
296      return this;
297   }
298
299   @Override /* BeanContextBuilder */
300   public OpenApiParserBuilder bpro(Class<?> beanClass, String value) {
301      super.bpro(beanClass, value);
302      return this;
303   }
304
305   @Override /* BeanContextBuilder */
306   public OpenApiParserBuilder bpro(Map<String,String> values) {
307      super.bpro(values);
308      return this;
309   }
310
311   @Override /* BeanContextBuilder */
312   public OpenApiParserBuilder bpro(String beanClassName, String value) {
313      super.bpro(beanClassName, value);
314      return this;
315   }
316
317   @Override /* BeanContextBuilder */
318   public OpenApiParserBuilder bpwo(Class<?> beanClass, String properties) {
319      super.bpwo(beanClass, properties);
320      return this;
321   }
322
323   @Override /* BeanContextBuilder */
324   public OpenApiParserBuilder bpwo(Map<String,String> values) {
325      super.bpwo(values);
326      return this;
327   }
328
329   @Override /* BeanContextBuilder */
330   public OpenApiParserBuilder bpwo(String beanClassName, String value) {
331      super.bpwo(beanClassName, value);
332      return this;
333   }
334
335   @Override /* BeanContextBuilder */
336   public OpenApiParserBuilder debug() {
337      super.debug();
338      return this;
339   }
340
341   @Override /* BeanContextBuilder */
342   public OpenApiParserBuilder dictionary(Class<?>...values) {
343      super.dictionary(values);
344      return this;
345   }
346
347   @Override /* BeanContextBuilder */
348   public OpenApiParserBuilder dictionary(Object...values) {
349      super.dictionary(values);
350      return this;
351   }
352
353   @Override /* BeanContextBuilder */
354   public OpenApiParserBuilder dictionaryReplace(Class<?>...values) {
355      super.dictionaryReplace(values);
356      return this;
357   }
358
359   @Override /* BeanContextBuilder */
360   public OpenApiParserBuilder dictionaryReplace(Object...values) {
361      super.dictionaryReplace(values);
362      return this;
363   }
364
365   @Override /* BeanContextBuilder */
366   public OpenApiParserBuilder dictionaryRemove(Class<?>...values) {
367      super.dictionaryRemove(values);
368      return this;
369   }
370
371   @Override /* BeanContextBuilder */
372   public OpenApiParserBuilder dictionaryRemove(Object...values) {
373      super.dictionaryRemove(values);
374      return this;
375   }
376
377   @Override /* BeanContextBuilder */
378   public <T> OpenApiParserBuilder example(Class<T> c, T o) {
379      super.example(c, o);
380      return this;
381   }
382
383   @Override /* BeanContextBuilder */
384   public <T> OpenApiParserBuilder exampleJson(Class<T> c, String value) {
385      super.exampleJson(c, value);
386      return this;
387   }
388
389   @Override /* BeanContextBuilder */
390   public OpenApiParserBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
391      super.ignoreInvocationExceptionsOnGetters(value);
392      return this;
393   }
394
395   @Override /* BeanContextBuilder */
396   public OpenApiParserBuilder ignoreInvocationExceptionsOnGetters() {
397      super.ignoreInvocationExceptionsOnGetters();
398      return this;
399   }
400
401   @Override /* BeanContextBuilder */
402   public OpenApiParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
403      super.ignoreInvocationExceptionsOnSetters(value);
404      return this;
405   }
406
407   @Override /* BeanContextBuilder */
408   public OpenApiParserBuilder ignoreInvocationExceptionsOnSetters() {
409      super.ignoreInvocationExceptionsOnSetters();
410      return this;
411   }
412
413   @Override /* BeanContextBuilder */
414   public OpenApiParserBuilder ignorePropertiesWithoutSetters(boolean value) {
415      super.ignorePropertiesWithoutSetters(value);
416      return this;
417   }
418
419   @Override /* BeanContextBuilder */
420   public OpenApiParserBuilder ignoreUnknownBeanProperties(boolean value) {
421      super.ignoreUnknownBeanProperties(value);
422      return this;
423   }
424
425   @Override /* BeanContextBuilder */
426   public OpenApiParserBuilder ignoreUnknownBeanProperties() {
427      super.ignoreUnknownBeanProperties();
428      return this;
429   }
430
431   @Override /* BeanContextBuilder */
432   public OpenApiParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
433      super.ignoreUnknownNullBeanProperties(value);
434      return this;
435   }
436
437   @Override /* BeanContextBuilder */
438   public OpenApiParserBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
439      super.implClass(interfaceClass, implClass);
440      return this;
441   }
442
443   @Override /* BeanContextBuilder */
444   public OpenApiParserBuilder implClasses(Map<String,Class<?>> values) {
445      super.implClasses(values);
446      return this;
447   }
448
449   @Override /* BeanContextBuilder */
450   public OpenApiParserBuilder locale(Locale value) {
451      super.locale(value);
452      return this;
453   }
454
455   @Override /* BeanContextBuilder */
456   public OpenApiParserBuilder mediaType(MediaType value) {
457      super.mediaType(value);
458      return this;
459   }
460
461   @Override /* BeanContextBuilder */
462   public OpenApiParserBuilder notBeanClasses(Class<?>...values) {
463      super.notBeanClasses(values);
464      return this;
465   }
466
467   @Override /* BeanContextBuilder */
468   public OpenApiParserBuilder notBeanClasses(Object...values) {
469      super.notBeanClasses(values);
470      return this;
471   }
472
473   @Override /* BeanContextBuilder */
474   public OpenApiParserBuilder notBeanClassesReplace(Class<?>...values) {
475      super.notBeanClassesReplace(values);
476      return this;
477   }
478
479   @Override /* BeanContextBuilder */
480   public OpenApiParserBuilder notBeanClassesReplace(Object...values) {
481      super.notBeanClassesReplace(values);
482      return this;
483   }
484
485   @Override /* BeanContextBuilder */
486   public OpenApiParserBuilder notBeanClassesRemove(Class<?>...values) {
487      super.notBeanClassesRemove(values);
488      return this;
489   }
490
491   @Override /* BeanContextBuilder */
492   public OpenApiParserBuilder notBeanClassesRemove(Object...values) {
493      super.notBeanClassesRemove(values);
494      return this;
495   }
496
497   @Override /* BeanContextBuilder */
498   public OpenApiParserBuilder notBeanPackages(Object...values) {
499      super.notBeanPackages(values);
500      return this;
501   }
502
503   @Override /* BeanContextBuilder */
504   public OpenApiParserBuilder notBeanPackages(String...values) {
505      super.notBeanPackages(values);
506      return this;
507   }
508
509   @Override /* BeanContextBuilder */
510   public OpenApiParserBuilder notBeanPackagesReplace(String...values) {
511      super.notBeanPackagesReplace(values);
512      return this;
513   }
514
515   @Override /* BeanContextBuilder */
516   public OpenApiParserBuilder notBeanPackagesReplace(Object...values) {
517      super.notBeanPackagesReplace(values);
518      return this;
519   }
520
521   @Override /* BeanContextBuilder */
522   public OpenApiParserBuilder notBeanPackagesRemove(String...values) {
523      super.notBeanPackagesRemove(values);
524      return this;
525   }
526
527   @Override /* BeanContextBuilder */
528   public OpenApiParserBuilder notBeanPackagesRemove(Object...values) {
529      super.notBeanPackagesRemove(values);
530      return this;
531   }
532
533   @Override /* BeanContextBuilder */
534   public OpenApiParserBuilder pojoSwaps(Class<?>...values) {
535      super.pojoSwaps(values);
536      return this;
537   }
538
539   @Override /* BeanContextBuilder */
540   public OpenApiParserBuilder pojoSwaps(Object...values) {
541      super.pojoSwaps(values);
542      return this;
543   }
544
545   @Override /* BeanContextBuilder */
546   public OpenApiParserBuilder pojoSwapsReplace(Class<?>...values) {
547      super.pojoSwapsReplace(values);
548      return this;
549   }
550
551   @Override /* BeanContextBuilder */
552   public OpenApiParserBuilder pojoSwapsReplace(Object...values) {
553      super.pojoSwapsReplace(values);
554      return this;
555   }
556
557   @Override /* BeanContextBuilder */
558   public OpenApiParserBuilder pojoSwapsRemove(Class<?>...values) {
559      super.pojoSwapsRemove(values);
560      return this;
561   }
562
563   @Override /* BeanContextBuilder */
564   public OpenApiParserBuilder pojoSwapsRemove(Object...values) {
565      super.pojoSwapsRemove(values);
566      return this;
567   }
568
569   @Override /* BeanContextBuilder */
570   public OpenApiParserBuilder sortProperties(boolean value) {
571      super.sortProperties(value);
572      return this;
573   }
574
575   @Override /* BeanContextBuilder */
576   public OpenApiParserBuilder sortProperties() {
577      super.sortProperties();
578      return this;
579   }
580
581   @Override /* BeanContextBuilder */
582   public OpenApiParserBuilder timeZone(TimeZone value) {
583      super.timeZone(value);
584      return this;
585   }
586
587   @Override /* BeanContextBuilder */
588   public OpenApiParserBuilder useEnumNames(boolean value) {
589      super.useEnumNames(value);
590      return this;
591   }
592
593   @Override /* BeanContextBuilder */
594   public OpenApiParserBuilder useEnumNames() {
595      super.useEnumNames();
596      return this;
597   }
598
599   @Override /* BeanContextBuilder */
600   public OpenApiParserBuilder useInterfaceProxies(boolean value) {
601      super.useInterfaceProxies(value);
602      return this;
603   }
604
605   @Override /* BeanContextBuilder */
606   public OpenApiParserBuilder useJavaBeanIntrospector(boolean value) {
607      super.useJavaBeanIntrospector(value);
608      return this;
609   }
610
611   @Override /* BeanContextBuilder */
612   public OpenApiParserBuilder useJavaBeanIntrospector() {
613      super.useJavaBeanIntrospector();
614      return this;
615   }
616
617   @Override /* ContextBuilder */
618   public OpenApiParserBuilder set(String name, Object value) {
619      super.set(name, value);
620      return this;
621   }
622
623   @Override /* ContextBuilder */
624   public OpenApiParserBuilder set(Map<String,Object> properties) {
625      super.set(properties);
626      return this;
627   }
628
629   @Override /* ContextBuilder */
630   public OpenApiParserBuilder add(Map<String,Object> properties) {
631      super.add(properties);
632      return this;
633   }
634
635   @Override /* ContextBuilder */
636   public OpenApiParserBuilder addTo(String name, Object value) {
637      super.addTo(name, value);
638      return this;
639   }
640
641   @Override /* ContextBuilder */
642   public OpenApiParserBuilder addTo(String name, String key, Object value) {
643      super.addTo(name, key, value);
644      return this;
645   }
646
647   @Override /* ContextBuilder */
648   public OpenApiParserBuilder removeFrom(String name, Object value) {
649      super.removeFrom(name, value);
650      return this;
651   }
652
653   @Override /* ContextBuilder */
654   public OpenApiParserBuilder apply(PropertyStore copyFrom) {
655      super.apply(copyFrom);
656      return this;
657   }
658
659   @Override
660   public OpenApiParserBuilder applyAnnotations(AnnotationList al, VarResolverSession vrs) {
661      super.applyAnnotations(al, vrs);
662      return this;
663   }
664}