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.json;
014
015import static org.apache.juneau.jsonschema.JsonSchemaGenerator.*;
016
017import java.util.*;
018
019import org.apache.juneau.*;
020import org.apache.juneau.annotation.*;
021import org.apache.juneau.http.*;
022import org.apache.juneau.jsonschema.*;
023import org.apache.juneau.serializer.*;
024
025/**
026 * Builder class for building instances of JSON Schema serializers.
027 */
028public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
029
030   /**
031    * Constructor, default settings.
032    */
033   public JsonSchemaSerializerBuilder() {
034      super();
035   }
036
037   /**
038    * Constructor.
039    *
040    * @param ps The initial configuration settings for this builder.
041    */
042   public JsonSchemaSerializerBuilder(PropertyStore ps) {
043      super(ps);
044   }
045
046   @Override /* ContextBuilder */
047   public JsonSchemaSerializer build() {
048      return build(JsonSchemaSerializer.class);
049   }
050
051
052   //-----------------------------------------------------------------------------------------------------------------
053   // Properties
054   //-----------------------------------------------------------------------------------------------------------------
055
056   /**
057    * Configuration property:  Add descriptions.
058    *
059    * <p>
060    * Identifies which categories of types that descriptions should be automatically added to generated schemas.
061    * <p>
062    * The description is the result of calling {@link ClassMeta#getReadableName()}.
063    *
064    * <h5 class='section'>See Also:</h5>
065    * <ul>
066    *    <li class='jf'>{@link JsonSchemaGenerator#JSONSCHEMA_addDescriptionsTo}
067    * </ul>
068    *
069    * @param value
070    *    The new value for this property.
071    *    <br>The default is <jk>false</jk>.
072    * @return This object (for method chaining).
073    */
074   public JsonSchemaSerializerBuilder addDescriptionsTo(String value) {
075      return set(JSONSCHEMA_addDescriptionsTo, value);
076   }
077
078   /**
079    * Configuration property:  Add examples.
080    *
081    * <p>
082    * Identifies which categories of types that examples should be automatically added to generated schemas.
083    * <p>
084    * The examples come from calling {@link ClassMeta#getExample(BeanSession)} which in turn gets examples
085    * from the following:
086    * <ul class='doctree'>
087    *    <li class='ja'>{@link Example}
088    *    <li class='jf'>{@link BeanContext#BEAN_examples}
089    * </ul>
090    *
091    * <h5 class='section'>See Also:</h5>
092    * <ul>
093    *    <li class='jf'>{@link JsonSchemaGenerator#JSONSCHEMA_addExamplesTo}
094    * </ul>
095    *
096    * @param value
097    *    The new value for this property.
098    *    <br>The default is <jk>false</jk>.
099    * @return This object (for method chaining).
100    */
101   public JsonSchemaSerializerBuilder addExamplesTo(String value) {
102      return set(JSONSCHEMA_addExamplesTo, value);
103   }
104
105   /**
106    * Configuration property:  Allow nested descriptions.
107    *
108    * <p>
109    * Identifies whether nested descriptions are allowed in schema definitions.
110    *
111    * <h5 class='section'>See Also:</h5>
112    * <ul>
113    *    <li class='jf'>{@link JsonSchemaGenerator#JSONSCHEMA_allowNestedDescriptions}
114    * </ul>
115    *
116    * @return This object (for method chaining).
117    */
118   public JsonSchemaSerializerBuilder allowNestedDescriptions() {
119      return set(JSONSCHEMA_allowNestedDescriptions, true);
120   }
121
122   /**
123    * Configuration property:  Allow nested examples.
124    *
125    * <p>
126    * Identifies whether nested examples are allowed in schema definitions.
127    *
128    * <h5 class='section'>See Also:</h5>
129    * <ul>
130    *    <li class='jf'>{@link JsonSchemaGenerator#JSONSCHEMA_allowNestedExamples}
131    * </ul>
132    *
133    * @return This object (for method chaining).
134    */
135   public JsonSchemaSerializerBuilder allowNestedExamples() {
136      return set(JSONSCHEMA_allowNestedExamples, true);
137   }
138
139   /**
140    * Configuration property:  Schema definition mapper.
141    *
142    * <p>
143    * Interface to use for converting Bean classes to definition IDs and URIs.
144    * <p>
145    * Used primarily for defining common definition sections for beans in Swagger JSON.
146    * <p>
147    * This setting is ignored if {@link JsonSchemaGenerator#JSONSCHEMA_useBeanDefs} is not enabled.
148    *
149    * <h5 class='section'>See Also:</h5>
150    * <ul>
151    *    <li class='jf'>{@link JsonSchemaGenerator#JSONSCHEMA_beanDefMapper}
152    * </ul>
153    *
154    * @param value
155    *    The new value for this property.
156    *    <br>The default is <jk>false</jk>.
157    * @return This object (for method chaining).
158    */
159   public JsonSchemaSerializerBuilder beanDefMapper(Class<? extends BeanDefMapper> value) {
160      return set(JSONSCHEMA_beanDefMapper, value);
161   }
162
163   /**
164    * Configuration property:  Bean schema definition mapper.
165    *
166    * <p>
167    * Interface to use for converting Bean classes to definition IDs and URIs.
168    * <p>
169    * Used primarily for defining common definition sections for beans in Swagger JSON.
170    * <p>
171    * This setting is ignored if {@link JsonSchemaGenerator#JSONSCHEMA_useBeanDefs} is not enabled.
172    *
173    * <h5 class='section'>See Also:</h5>
174    * <ul>
175    *    <li class='jf'>{@link JsonSchemaGenerator#JSONSCHEMA_beanDefMapper}
176    * </ul>
177    *
178    * @param value
179    *    The new value for this property.
180    *    <br>The default is <jk>false</jk>.
181    * @return This object (for method chaining).
182    */
183   public JsonSchemaSerializerBuilder beanDefMapper(BeanDefMapper value) {
184      return set(JSONSCHEMA_beanDefMapper, value);
185   }
186
187   /**
188    * Configuration property:  Default schemas.
189    *
190    * <p>
191    * Allows you to override or provide custom schema information for particular class types.
192    * <p>
193    * Keys are full class names.
194    *
195    * <h5 class='section'>See Also:</h5>
196    * <ul>
197    *    <li class='jf'>{@link JsonSchemaGenerator#JSONSCHEMA_defaultSchemas}
198    * </ul>
199    *
200    * @param c
201    *    The class to define a default schema for.
202    * @param schema
203    *    The schema.
204    * @return This object (for method chaining).
205    */
206   public JsonSchemaSerializerBuilder defaultSchema(Class<?> c, ObjectMap schema) {
207      return addTo(JSONSCHEMA_defaultSchemas, c.getName(), schema);
208   }
209
210   /**
211    * Configuration property:  Use bean definitions.
212    *
213    * <p>
214    * When enabled, schemas on beans will be serialized as the following:
215    * <p class='bcode w800'>
216    *    {
217    *       type: <js>'object'</js>,
218    *       <js>'$ref'</js>: <js>'#/definitions/TypeId'</js>
219    *    }
220    * </p>
221    *
222    * @return This object (for method chaining).
223    */
224   public JsonSchemaSerializerBuilder useBeanDefs() {
225      return set(JSONSCHEMA_useBeanDefs, true);
226   }
227
228   @Override /* JsonSerializerBuilder */
229   public JsonSchemaSerializerBuilder escapeSolidus(boolean value) {
230      super.escapeSolidus(value);
231      return this;
232   }
233
234   @Override /* JsonSerializerBuilder */
235   public JsonSchemaSerializerBuilder escapeSolidus() {
236      super.escapeSolidus();
237      return this;
238   }
239
240   @Override /* JsonSerializerBuilder */
241   public JsonSchemaSerializerBuilder simple(boolean value) {
242      super.simple(value);
243      return this;
244   }
245
246   @Override /* JsonSerializerBuilder */
247   public JsonSchemaSerializerBuilder simple() {
248      super.simple();
249      return this;
250   }
251
252   @Override /* JsonSerializerBuilder */
253   public JsonSchemaSerializerBuilder ssq() {
254      super.ssq();
255      return this;
256   }
257
258   @Override /* SerializerBuilder */
259   public JsonSchemaSerializerBuilder addBeanTypes(boolean value) {
260      super.addBeanTypes(value);
261      return this;
262   }
263
264   @Override /* SerializerBuilder */
265   public JsonSchemaSerializerBuilder addBeanTypes() {
266      super.addBeanTypes();
267      return this;
268   }
269
270   @Override /* SerializerBuilder */
271   public JsonSchemaSerializerBuilder addRootType(boolean value) {
272      super.addRootType(value);
273      return this;
274   }
275
276   @Override /* SerializerBuilder */
277   public JsonSchemaSerializerBuilder addRootType() {
278      super.addRootType();
279      return this;
280   }
281
282   @Override /* SerializerBuilder */
283   public JsonSchemaSerializerBuilder detectRecursions(boolean value) {
284      super.detectRecursions(value);
285      return this;
286   }
287
288   @Override /* SerializerBuilder */
289   public JsonSchemaSerializerBuilder detectRecursions() {
290      super.detectRecursions();
291      return this;
292   }
293
294   @Override /* SerializerBuilder */
295   public JsonSchemaSerializerBuilder ignoreRecursions(boolean value) {
296      super.ignoreRecursions(value);
297      return this;
298   }
299
300   @Override /* SerializerBuilder */
301   public JsonSchemaSerializerBuilder ignoreRecursions() {
302      super.ignoreRecursions();
303      return this;
304   }
305   @Override /* SerializerBuilder */
306   public JsonSchemaSerializerBuilder initialDepth(int value) {
307      super.initialDepth(value);
308      return this;
309   }
310
311   @Override /* SerializerBuilder */
312   public JsonSchemaSerializerBuilder listener(Class<? extends SerializerListener> value) {
313      super.listener(value);
314      return this;
315   }
316
317   @Override /* SerializerBuilder */
318   public JsonSchemaSerializerBuilder maxDepth(int value) {
319      super.maxDepth(value);
320      return this;
321   }
322
323   @Override /* SerializerBuilder */
324   public JsonSchemaSerializerBuilder maxIndent(int value) {
325      super.maxIndent(value);
326      return this;
327   }
328
329   @Override /* SerializerBuilder */
330   public JsonSchemaSerializerBuilder quoteChar(char value) {
331      super.quoteChar(value);
332      return this;
333   }
334
335   @Override /* SerializerBuilder */
336   public JsonSchemaSerializerBuilder sortCollections(boolean value) {
337      super.sortCollections(value);
338      return this;
339   }
340
341   @Override /* SerializerBuilder */
342   public JsonSchemaSerializerBuilder sortCollections() {
343      super.sortCollections();
344      return this;
345   }
346
347   @Override /* SerializerBuilder */
348   public JsonSchemaSerializerBuilder sortMaps(boolean value) {
349      super.sortMaps(value);
350      return this;
351   }
352
353   @Override /* SerializerBuilder */
354   public JsonSchemaSerializerBuilder sortMaps() {
355      super.sortMaps();
356      return this;
357   }
358
359   @Override /* SerializerBuilder */
360   public JsonSchemaSerializerBuilder sq() {
361      super.sq();
362      return this;
363   }
364
365   @Override /* SerializerBuilder */
366   public JsonSchemaSerializerBuilder trimEmptyCollections(boolean value) {
367      super.trimEmptyCollections(value);
368      return this;
369   }
370
371   @Override /* SerializerBuilder */
372   public JsonSchemaSerializerBuilder trimEmptyCollections() {
373      super.trimEmptyCollections();
374      return this;
375   }
376
377   @Override /* SerializerBuilder */
378   public JsonSchemaSerializerBuilder trimEmptyMaps(boolean value) {
379      super.trimEmptyMaps(value);
380      return this;
381   }
382
383   @Override /* SerializerBuilder */
384   public JsonSchemaSerializerBuilder trimEmptyMaps() {
385      super.trimEmptyMaps();
386      return this;
387   }
388
389   @Override /* SerializerBuilder */
390   public JsonSchemaSerializerBuilder trimNullProperties(boolean value) {
391      super.trimNullProperties(value);
392      return this;
393   }
394
395   @Override /* SerializerBuilder */
396   public JsonSchemaSerializerBuilder trimStrings(boolean value) {
397      super.trimStrings(value);
398      return this;
399   }
400
401   @Override /* SerializerBuilder */
402   public JsonSchemaSerializerBuilder trimStrings() {
403      super.trimStrings();
404      return this;
405   }
406
407   @Override /* SerializerBuilder */
408   public JsonSchemaSerializerBuilder uriContext(UriContext value) {
409      super.uriContext(value);
410      return this;
411   }
412
413   @Override /* SerializerBuilder */
414   public JsonSchemaSerializerBuilder uriRelativity(UriRelativity value) {
415      super.uriRelativity(value);
416      return this;
417   }
418
419   @Override /* SerializerBuilder */
420   public JsonSchemaSerializerBuilder uriResolution(UriResolution value) {
421      super.uriResolution(value);
422      return this;
423   }
424
425   @Override /* SerializerBuilder */
426   public JsonSchemaSerializerBuilder useWhitespace(boolean value) {
427      super.useWhitespace(value);
428      return this;
429   }
430
431   @Override /* SerializerBuilder */
432   public JsonSchemaSerializerBuilder useWhitespace() {
433      super.useWhitespace();
434      return this;
435   }
436
437   @Override /* SerializerBuilder */
438   public JsonSchemaSerializerBuilder ws() {
439      super.ws();
440      return this;
441   }
442
443   @Override /* BeanContextBuilder */
444   public JsonSchemaSerializerBuilder beanClassVisibility(Visibility value) {
445      super.beanClassVisibility(value);
446      return this;
447   }
448
449   @Override /* BeanContextBuilder */
450   public JsonSchemaSerializerBuilder beanConstructorVisibility(Visibility value) {
451      super.beanConstructorVisibility(value);
452      return this;
453   }
454
455   @Override /* BeanContextBuilder */
456   public JsonSchemaSerializerBuilder beanDictionary(boolean append, Object...values) {
457      super.beanDictionary(append, values);
458      return this;
459   }
460
461   @Override /* BeanContextBuilder */
462   public JsonSchemaSerializerBuilder beanDictionary(Class<?>...values) {
463      super.beanDictionary(values);
464      return this;
465   }
466
467   @Override /* BeanContextBuilder */
468   public JsonSchemaSerializerBuilder beanDictionary(Object...values) {
469      super.beanDictionary(values);
470      return this;
471   }
472
473   @Override /* BeanContextBuilder */
474   public JsonSchemaSerializerBuilder beanDictionaryRemove(Object...values) {
475      super.beanDictionaryRemove(values);
476      return this;
477   }
478
479   @Override /* BeanContextBuilder */
480   public JsonSchemaSerializerBuilder beanFieldVisibility(Visibility value) {
481      super.beanFieldVisibility(value);
482      return this;
483   }
484
485   @Override /* BeanContextBuilder */
486   public JsonSchemaSerializerBuilder beanFilters(boolean append, Object...values) {
487      super.beanFilters(append, values);
488      return this;
489   }
490
491   @Override /* BeanContextBuilder */
492   public JsonSchemaSerializerBuilder beanFilters(Class<?>...values) {
493      super.beanFilters(values);
494      return this;
495   }
496
497   @Override /* BeanContextBuilder */
498   public JsonSchemaSerializerBuilder beanFilters(Object...values) {
499      super.beanFilters(values);
500      return this;
501   }
502
503   @Override /* BeanContextBuilder */
504   public JsonSchemaSerializerBuilder beanFiltersRemove(Object...values) {
505      super.beanFiltersRemove(values);
506      return this;
507   }
508
509   @Override /* BeanContextBuilder */
510   public JsonSchemaSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
511      super.beanMapPutReturnsOldValue(value);
512      return this;
513   }
514
515   @Override /* BeanContextBuilder */
516   public JsonSchemaSerializerBuilder beanMapPutReturnsOldValue() {
517      super.beanMapPutReturnsOldValue();
518      return this;
519   }
520
521   @Override /* BeanContextBuilder */
522   public JsonSchemaSerializerBuilder beanMethodVisibility(Visibility value) {
523      super.beanMethodVisibility(value);
524      return this;
525   }
526
527   @Override /* BeanContextBuilder */
528   public JsonSchemaSerializerBuilder beansRequireDefaultConstructor(boolean value) {
529      super.beansRequireDefaultConstructor(value);
530      return this;
531   }
532
533   @Override /* BeanContextBuilder */
534   public JsonSchemaSerializerBuilder beansRequireDefaultConstructor() {
535      super.beansRequireDefaultConstructor();
536      return this;
537   }
538
539   @Override /* BeanContextBuilder */
540   public JsonSchemaSerializerBuilder beansRequireSerializable(boolean value) {
541      super.beansRequireSerializable(value);
542      return this;
543   }
544
545   @Override /* BeanContextBuilder */
546   public JsonSchemaSerializerBuilder beansRequireSerializable() {
547      super.beansRequireSerializable();
548      return this;
549   }
550
551   @Override /* BeanContextBuilder */
552   public JsonSchemaSerializerBuilder beansRequireSettersForGetters(boolean value) {
553      super.beansRequireSettersForGetters(value);
554      return this;
555   }
556
557   @Override /* BeanContextBuilder */
558   public JsonSchemaSerializerBuilder beansRequireSettersForGetters() {
559      super.beansRequireSettersForGetters();
560      return this;
561   }
562
563   @Override /* BeanContextBuilder */
564   public JsonSchemaSerializerBuilder beansRequireSomeProperties(boolean value) {
565      super.beansRequireSomeProperties(value);
566      return this;
567   }
568
569   @Override /* BeanContextBuilder */
570   public JsonSchemaSerializerBuilder beanTypePropertyName(String value) {
571      super.beanTypePropertyName(value);
572      return this;
573   }
574
575   @Override /* BeanContextBuilder */
576   public JsonSchemaSerializerBuilder debug() {
577      super.debug();
578      return this;
579   }
580
581   @Override /* BeanContextBuilder */
582   public <T> JsonSchemaSerializerBuilder example(Class<T> c, T o) {
583      super.example(c, o);
584      return this;
585   }
586
587   @Override /* BeanContextBuilder */
588   public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
589      super.ignoreInvocationExceptionsOnGetters(value);
590      return this;
591   }
592
593   @Override /* BeanContextBuilder */
594   public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnGetters() {
595      super.ignoreInvocationExceptionsOnGetters();
596      return this;
597   }
598
599   @Override /* BeanContextBuilder */
600   public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
601      super.ignoreInvocationExceptionsOnSetters(value);
602      return this;
603   }
604
605   @Override /* BeanContextBuilder */
606   public JsonSchemaSerializerBuilder ignoreInvocationExceptionsOnSetters() {
607      super.ignoreInvocationExceptionsOnSetters();
608      return this;
609   }
610
611   @Override /* BeanContextBuilder */
612   public JsonSchemaSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
613      super.ignorePropertiesWithoutSetters(value);
614      return this;
615   }
616
617   @Override /* BeanContextBuilder */
618   public JsonSchemaSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
619      super.ignoreUnknownBeanProperties(value);
620      return this;
621   }
622
623   @Override /* BeanContextBuilder */
624   public JsonSchemaSerializerBuilder ignoreUnknownBeanProperties() {
625      super.ignoreUnknownBeanProperties();
626      return this;
627   }
628
629   @Override /* BeanContextBuilder */
630   public JsonSchemaSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
631      super.ignoreUnknownNullBeanProperties(value);
632      return this;
633   }
634
635   @Override /* BeanContextBuilder */
636   public <T> JsonSchemaSerializerBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
637      super.implClass(interfaceClass, implClass);
638      return this;
639   }
640
641   @Override /* BeanContextBuilder */
642   public JsonSchemaSerializerBuilder implClasses(Map<String,Class<?>> values) {
643      super.implClasses(values);
644      return this;
645   }
646
647   @Override /* BeanContextBuilder */
648   public JsonSchemaSerializerBuilder locale(Locale value) {
649      super.locale(value);
650      return this;
651   }
652
653   @Override /* BeanContextBuilder */
654   public JsonSchemaSerializerBuilder mediaType(MediaType value) {
655      super.mediaType(value);
656      return this;
657   }
658
659   @Override /* BeanContextBuilder */
660   public JsonSchemaSerializerBuilder notBeanClasses(boolean append, Object...values) {
661      super.notBeanClasses(append, values);
662      return this;
663   }
664
665   @Override /* BeanContextBuilder */
666   public JsonSchemaSerializerBuilder notBeanClasses(Class<?>...values) {
667      super.notBeanClasses(values);
668      return this;
669   }
670
671   @Override /* BeanContextBuilder */
672   public JsonSchemaSerializerBuilder notBeanClasses(Object...values) {
673      super.notBeanClasses(values);
674      return this;
675   }
676
677   @Override /* BeanContextBuilder */
678   public JsonSchemaSerializerBuilder notBeanClassesRemove(Object...values) {
679      super.notBeanClassesRemove(values);
680      return this;
681   }
682
683   @Override /* BeanContextBuilder */
684   public JsonSchemaSerializerBuilder notBeanPackages(boolean append, Object...values) {
685      super.notBeanPackages(append, values);
686      return this;
687   }
688
689   @Override /* BeanContextBuilder */
690   public JsonSchemaSerializerBuilder notBeanPackages(Object...values) {
691      super.notBeanPackages(values);
692      return this;
693   }
694
695   @Override /* BeanContextBuilder */
696   public JsonSchemaSerializerBuilder notBeanPackages(String...values) {
697      super.notBeanPackages(values);
698      return this;
699   }
700
701   @Override /* BeanContextBuilder */
702   public JsonSchemaSerializerBuilder notBeanPackagesRemove(Object...values) {
703      super.notBeanPackagesRemove(values);
704      return this;
705   }
706
707   @Override /* BeanContextBuilder */
708   public JsonSchemaSerializerBuilder pojoSwaps(boolean append, Object...values) {
709      super.pojoSwaps(append, values);
710      return this;
711   }
712
713   @Override /* BeanContextBuilder */
714   public JsonSchemaSerializerBuilder pojoSwaps(Class<?>...values) {
715      super.pojoSwaps(values);
716      return this;
717   }
718
719   @Override /* BeanContextBuilder */
720   public JsonSchemaSerializerBuilder pojoSwaps(Object...values) {
721      super.pojoSwaps(values);
722      return this;
723   }
724
725   @Override /* BeanContextBuilder */
726   public JsonSchemaSerializerBuilder pojoSwapsRemove(Object...values) {
727      super.pojoSwapsRemove(values);
728      return this;
729   }
730
731   @Override /* BeanContextBuilder */
732   public JsonSchemaSerializerBuilder sortProperties(boolean value) {
733      super.sortProperties(value);
734      return this;
735   }
736
737   @Override /* BeanContextBuilder */
738   public JsonSchemaSerializerBuilder sortProperties() {
739      super.sortProperties();
740      return this;
741   }
742
743   @Override /* BeanContextBuilder */
744   public JsonSchemaSerializerBuilder timeZone(TimeZone value) {
745      super.timeZone(value);
746      return this;
747   }
748
749   @Override /* BeanContextBuilder */
750   public JsonSchemaSerializerBuilder useEnumNames() {
751      super.useEnumNames();
752      return this;
753   }
754
755   @Override /* BeanContextBuilder */
756   public JsonSchemaSerializerBuilder useInterfaceProxies(boolean value) {
757      super.useInterfaceProxies(value);
758      return this;
759   }
760
761   @Override /* BeanContextBuilder */
762   public JsonSchemaSerializerBuilder useJavaBeanIntrospector(boolean value) {
763      super.useJavaBeanIntrospector(value);
764      return this;
765   }
766
767   @Override /* BeanContextBuilder */
768   public JsonSchemaSerializerBuilder useJavaBeanIntrospector() {
769      super.useJavaBeanIntrospector();
770      return this;
771   }
772
773   @Override /* ContextBuilder */
774   public JsonSchemaSerializerBuilder set(String name, Object value) {
775      super.set(name, value);
776      return this;
777   }
778
779   @Override /* ContextBuilder */
780   public JsonSchemaSerializerBuilder set(boolean append, String name, Object value) {
781      super.set(append, name, value);
782      return this;
783   }
784
785   @Override /* ContextBuilder */
786   public JsonSchemaSerializerBuilder set(Map<String,Object> properties) {
787      super.set(properties);
788      return this;
789   }
790
791   @Override /* ContextBuilder */
792   public JsonSchemaSerializerBuilder add(Map<String,Object> properties) {
793      super.add(properties);
794      return this;
795   }
796
797   @Override /* ContextBuilder */
798   public JsonSchemaSerializerBuilder addTo(String name, Object value) {
799      super.addTo(name, value);
800      return this;
801   }
802
803   @Override /* ContextBuilder */
804   public JsonSchemaSerializerBuilder addTo(String name, String key, Object value) {
805      super.addTo(name, key, value);
806      return this;
807   }
808
809   @Override /* ContextBuilder */
810   public JsonSchemaSerializerBuilder removeFrom(String name, Object value) {
811      super.removeFrom(name, value);
812      return this;
813   }
814
815   @Override /* ContextBuilder */
816   public JsonSchemaSerializerBuilder apply(PropertyStore copyFrom) {
817      super.apply(copyFrom);
818      return this;
819   }
820
821   /**
822    * @deprecated Use {@link Serializer#SERIALIZER_addRootType}.
823    */
824   @Override
825   @Deprecated
826   public JsonSchemaSerializerBuilder abridged(boolean value) {
827      return this;
828   }
829
830   /**
831    * @deprecated Use {@link Serializer#SERIALIZER_addRootType}.
832    */
833   @Override
834   @Deprecated
835   public JsonSchemaSerializerBuilder abridged() {
836      return this;
837   }
838
839   /**
840    * @deprecated {@link #addBeanTypes(boolean)}
841    */
842   @Override
843   @Deprecated
844   public JsonSchemaSerializerBuilder addBeanTypeProperties(boolean value) {
845      this.addBeanTypes(value);
846      return this;
847   }
848}