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.serializer;
014
015import static org.apache.juneau.serializer.WriterSerializer.*;
016
017import java.lang.annotation.*;
018import java.lang.reflect.*;
019import java.nio.charset.*;
020import java.util.*;
021
022import org.apache.juneau.*;
023import org.apache.juneau.http.*;
024import org.apache.juneau.internal.*;
025import org.apache.juneau.reflect.*;
026import org.apache.juneau.svl.*;
027
028/**
029 * Base class for all writer-based serializer builders.
030 */
031public class WriterSerializerBuilder extends SerializerBuilder {
032
033   /**
034    * Constructor, default settings.
035    */
036   public WriterSerializerBuilder() {
037      super();
038   }
039
040   /**
041    * Constructor.
042    *
043    * @param ps The initial configuration settings for this builder.
044    */
045   public WriterSerializerBuilder(PropertyStore ps) {
046      super(ps);
047   }
048
049   //-----------------------------------------------------------------------------------------------------------------
050   // Properties
051   //-----------------------------------------------------------------------------------------------------------------
052
053   /**
054    * <i><l>WriterSerializer</l> configuration property:&emsp;</i> File charset.
055    *
056    * <p>
057    * The character set to use for writing <c>Files</c> to the file system.
058    *
059    * <p>
060    * Used when passing in files to {@link Serializer#serialize(Object, Object)}.
061    *
062    * <h5 class='section'>Example:</h5>
063    * <p class='bcode w800'>
064    *    <jc>// Create a serializer that writes UTF-8 files.</jc>
065    *    WriterSerializer s = JsonSerializer
066    *       .<jsm>create</jsm>()
067    *       .fileCharset(Charset.<jsm>forName</jsm>(<js>"UTF-8"</js>))
068    *       .build();
069    *
070    *    <jc>// Use it to read a UTF-8 encoded file.</jc>
071    *    s.serialize(<jk>new</jk> File(<js>"MyBean.txt"</js>), myBean);
072    * </p>
073    *
074    * <ul class='seealso'>
075    *    <li class='jf'>{@link WriterSerializer#WSERIALIZER_fileCharset}
076    * </ul>
077    *
078    * @param value
079    *    The new value for this property.
080    *    <br>The default is the system JVM setting.
081    * @return This object (for method chaining).
082    */
083   @FluentSetter
084   public WriterSerializerBuilder fileCharset(Charset value) {
085      return set(WSERIALIZER_fileCharset, value);
086   }
087
088   /**
089    * <i><l>WriterSerializer</l> configuration property:&emsp;</i>  Maximum indentation.
090    *
091    * <p>
092    * Specifies the maximum indentation level in the serialized document.
093    *
094    * <ul class='notes'>
095    *    <li>This setting does not apply to the RDF serializers.
096    * </ul>
097    *
098    * <h5 class='section'>Example:</h5>
099    * <p class='bcode w800'>
100    *    <jc>// Create a serializer that indents a maximum of 20 tabs.</jc>
101    *    WriterSerializer s = JsonSerializer
102    *       .<jsm>create</jsm>()
103    *       .ws()  <jc>// Enable whitespace</jc>
104    *       .maxIndent(20)
105    *       .build();
106    * </p>
107    *
108    * <ul class='seealso'>
109    *    <li class='jf'>{@link WriterSerializer#WSERIALIZER_maxIndent}
110    * </ul>
111    *
112    * @param value
113    *    The new value for this property.
114    *    <br>The default is <c>100</c>.
115    * @return This object (for method chaining).
116    */
117   @FluentSetter
118   public WriterSerializerBuilder maxIndent(int value) {
119      return set(WSERIALIZER_maxIndent, value);
120   }
121
122   /**
123    * <i><l>WriterSerializer</l> configuration property:&emsp;</i>  Quote character.
124    *
125    * <p>
126    * Specifies the character to use for quoting attributes and values.
127    *
128    * <ul class='notes'>
129    *    <li>This setting does not apply to the RDF serializers.
130    * </ul>
131    *
132    * <h5 class='section'>Example:</h5>
133    * <p class='bcode w800'>
134    *    <jc>// Create a serializer that uses single quotes.</jc>
135    *    WriterSerializer s = JsonSerializer
136    *       .<jsm>create</jsm>()
137    *       .quoteChar(<js>'\''</js>)
138    *       .build();
139    *
140    *    <jc>// A bean with a single property</jc>
141    *    <jk>public class</jk> MyBean {
142    *       <jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
143    *    }
144    *
145    *    <jc>// Produces {'foo':'bar'}</jc>
146    *    String json = s.toString(<jk>new</jk> MyBean());
147    * </p>
148    *
149    * <ul class='seealso'>
150    *    <li class='jf'>{@link WriterSerializer#WSERIALIZER_quoteChar}
151    * </ul>
152    *
153    * @param value
154    *    The new value for this property.
155    *    <br>The default is <js>'"'</js>.
156    * @return This object (for method chaining).
157    */
158   @FluentSetter
159   public WriterSerializerBuilder quoteChar(char value) {
160      return set(WSERIALIZER_quoteChar, value);
161   }
162
163   /**
164    * <i><l>WriterSerializer</l> configuration property:&emsp;</i>  Quote character.
165    *
166    * <p>
167    * Specifies to use single quotes for quoting attributes and values.
168    *
169    * <ul class='notes'>
170    *    <li>This setting does not apply to the RDF serializers.
171    * </ul>
172    *
173    * <h5 class='section'>Example:</h5>
174    * <p class='bcode w800'>
175    *    <jc>// Create a serializer that uses single quotes.</jc>
176    *    WriterSerializer s = JsonSerializer
177    *       .<jsm>create</jsm>()
178    *       .sq()
179    *       .build();
180    *
181    *    <jc>// A bean with a single property</jc>
182    *    <jk>public class</jk> MyBean {
183    *       <jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
184    *    }
185    *
186    *    <jc>// Produces {'foo':'bar'}</jc>
187    *    String json = s.toString(<jk>new</jk> MyBean());
188    * </p>
189    *
190    * <ul class='seealso'>
191    *    <li class='jf'>{@link WriterSerializer#WSERIALIZER_quoteChar}
192    * </ul>
193    *
194    * @return This object (for method chaining).
195    */
196   @FluentSetter
197   public WriterSerializerBuilder sq() {
198      return quoteChar('\'');
199   }
200
201   /**
202    * <i><l>WriterSerializer</l> configuration property:&emsp;</i> Output stream charset.
203    *
204    * <p>
205    * The character set to use when writing to <c>OutputStreams</c>.
206    *
207    * <p>
208    * Used when passing in output streams and byte arrays to {@link WriterSerializer#serialize(Object, Object)}.
209    *
210    * <h5 class='section'>Example:</h5>
211    * <p class='bcode w800'>
212    *    <jc>// Create a serializer that writes UTF-8 files.</jc>
213    *    WriterSerializer s = JsonSerializer
214    *       .<jsm>create</jsm>()
215    *       .streamCharset(Charset.<jsm>forName</jsm>(<js>"UTF-8"</js>))
216    *       .build();
217    *
218    *    <jc>// Use it to write to a UTF-8 encoded output stream.</jc>
219    *    s.serializer(<jk>new</jk> FileOutputStreamStream(<js>"MyBean.txt"</js>), myBean);
220    * </p>
221    *
222    * <ul class='seealso'>
223    *    <li class='jf'>{@link WriterSerializer#WSERIALIZER_streamCharset}
224    * </ul>
225    *
226    * @param value
227    *    The new value for this property.
228    *    <br>The default is the system JVM setting.
229    * @return This object (for method chaining).
230    */
231   @FluentSetter
232   public WriterSerializerBuilder streamCharset(Charset value) {
233      return set(WSERIALIZER_streamCharset, value);
234   }
235
236   /**
237    * <i><l>WriterSerializer</l> configuration property:&emsp;</i>  Use whitespace.
238    *
239    * <div class='warn'>
240    *    <b>Deprecated</b> - Use {@link #useWhitespace()}
241    * </div>
242    */
243   @SuppressWarnings("javadoc")
244   @FluentSetter
245   @Deprecated
246   public WriterSerializerBuilder useWhitespace(boolean value) {
247      return set(WSERIALIZER_useWhitespace, value);
248   }
249
250   /**
251    * <i><l>WriterSerializer</l> configuration property:&emsp;</i>  Use whitespace.
252    *
253    * <p>
254    * When enabled, whitespace is added to the output to improve readability.
255    *
256    * <h5 class='section'>Example:</h5>
257    * <p class='bcode w800'>
258    *    <jc>// Create a serializer with whitespace enabled.</jc>
259    *    WriterSerializer s = JsonSerializer
260    *       .<jsm>create</jsm>()
261    *       .useWhitespace()
262    *       .build();
263    *
264    *    <jc>// A bean with a single property</jc>
265    *    <jk>public class</jk> MyBean {
266    *       <jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
267    *    }
268    *
269    *    <jc>// Produces "\{\n\t"foo": "bar"\n\}\n"</jc>
270    *    String json = s.serialize(<jk>new</jk> MyBean());
271    * </p>
272    *
273    * <ul class='seealso'>
274    *    <li class='jf'>{@link WriterSerializer#WSERIALIZER_useWhitespace}
275    * </ul>
276    * @return This object (for method chaining).
277    */
278   @FluentSetter
279   public WriterSerializerBuilder useWhitespace() {
280      return set(WSERIALIZER_useWhitespace, true);
281   }
282
283   /**
284    * <i><l>WriterSerializer</l> configuration property:&emsp;</i>  Use whitespace.
285    *
286    * <p>
287    * When enabled, whitespace is added to the output to improve readability.
288    *
289    * <h5 class='section'>Example:</h5>
290    * <p class='bcode w800'>
291    *    <jc>// Create a serializer with whitespace enabled.</jc>
292    *    WriterSerializer s = JsonSerializer
293    *       .<jsm>create</jsm>()
294    *       .ws()
295    *       .build();
296    *
297    *    <jc>// A bean with a single property</jc>
298    *    <jk>public class</jk> MyBean {
299    *       <jk>public</jk> String <jf>foo</jf> = <js>"bar"</js>;
300    *    }
301    *
302    *    <jc>// Produces "\{\n\t"foo": "bar"\n\}\n"</jc>
303    *    String json = s.serialize(<jk>new</jk> MyBean());
304    * </p>
305    *
306    * <ul class='seealso'>
307    *    <li class='jf'>{@link WriterSerializer#WSERIALIZER_useWhitespace}
308    * </ul>
309    *
310    * @return This object (for method chaining).
311    */
312   @FluentSetter
313   public SerializerBuilder ws() {
314      return useWhitespace();
315   }
316
317   // <FluentSetters>
318
319   @Override /* GENERATED - ContextBuilder */
320   public WriterSerializerBuilder add(Map<String,Object> properties) {
321      super.add(properties);
322      return this;
323   }
324
325   @Override /* GENERATED - ContextBuilder */
326   public WriterSerializerBuilder addTo(String name, Object value) {
327      super.addTo(name, value);
328      return this;
329   }
330
331   @Override /* GENERATED - ContextBuilder */
332   public WriterSerializerBuilder appendTo(String name, Object value) {
333      super.appendTo(name, value);
334      return this;
335   }
336
337   @Override /* GENERATED - ContextBuilder */
338   public WriterSerializerBuilder apply(PropertyStore copyFrom) {
339      super.apply(copyFrom);
340      return this;
341   }
342
343   @Override /* GENERATED - ContextBuilder */
344   public WriterSerializerBuilder applyAnnotations(java.lang.Class<?>...fromClasses) {
345      super.applyAnnotations(fromClasses);
346      return this;
347   }
348
349   @Override /* GENERATED - ContextBuilder */
350   public WriterSerializerBuilder applyAnnotations(Method...fromMethods) {
351      super.applyAnnotations(fromMethods);
352      return this;
353   }
354
355   @Override /* GENERATED - ContextBuilder */
356   public WriterSerializerBuilder applyAnnotations(AnnotationList al, VarResolverSession r) {
357      super.applyAnnotations(al, r);
358      return this;
359   }
360
361   @Override /* GENERATED - ContextBuilder */
362   public WriterSerializerBuilder debug() {
363      super.debug();
364      return this;
365   }
366
367   @Override /* GENERATED - ContextBuilder */
368   public WriterSerializerBuilder locale(Locale value) {
369      super.locale(value);
370      return this;
371   }
372
373   @Override /* GENERATED - ContextBuilder */
374   public WriterSerializerBuilder mediaType(MediaType value) {
375      super.mediaType(value);
376      return this;
377   }
378
379   @Override /* GENERATED - ContextBuilder */
380   public WriterSerializerBuilder prependTo(String name, Object value) {
381      super.prependTo(name, value);
382      return this;
383   }
384
385   @Override /* GENERATED - ContextBuilder */
386   public WriterSerializerBuilder putAllTo(String name, Object value) {
387      super.putAllTo(name, value);
388      return this;
389   }
390
391   @Override /* GENERATED - ContextBuilder */
392   public WriterSerializerBuilder putTo(String name, String key, Object value) {
393      super.putTo(name, key, value);
394      return this;
395   }
396
397   @Override /* GENERATED - ContextBuilder */
398   public WriterSerializerBuilder removeFrom(String name, Object value) {
399      super.removeFrom(name, value);
400      return this;
401   }
402
403   @Override /* GENERATED - ContextBuilder */
404   public WriterSerializerBuilder set(Map<String,Object> properties) {
405      super.set(properties);
406      return this;
407   }
408
409   @Override /* GENERATED - ContextBuilder */
410   public WriterSerializerBuilder set(String name, Object value) {
411      super.set(name, value);
412      return this;
413   }
414
415   @Override /* GENERATED - ContextBuilder */
416   public WriterSerializerBuilder timeZone(TimeZone value) {
417      super.timeZone(value);
418      return this;
419   }
420
421   @Override /* GENERATED - BeanContextBuilder */
422   public WriterSerializerBuilder annotations(Annotation...values) {
423      super.annotations(values);
424      return this;
425   }
426
427   @Override /* GENERATED - BeanContextBuilder */
428   public WriterSerializerBuilder beanClassVisibility(Visibility value) {
429      super.beanClassVisibility(value);
430      return this;
431   }
432
433   @Override /* GENERATED - BeanContextBuilder */
434   public WriterSerializerBuilder beanConstructorVisibility(Visibility value) {
435      super.beanConstructorVisibility(value);
436      return this;
437   }
438
439   @Override /* GENERATED - BeanContextBuilder */
440   public WriterSerializerBuilder beanFieldVisibility(Visibility value) {
441      super.beanFieldVisibility(value);
442      return this;
443   }
444
445   @Override /* GENERATED - BeanContextBuilder */
446   public WriterSerializerBuilder beanInterceptor(Class<?> on, Class<? extends org.apache.juneau.transform.BeanInterceptor<?>> value) {
447      super.beanInterceptor(on, value);
448      return this;
449   }
450
451   @Override /* GENERATED - BeanContextBuilder */
452   public WriterSerializerBuilder beanMapPutReturnsOldValue() {
453      super.beanMapPutReturnsOldValue();
454      return this;
455   }
456
457   @Override /* GENERATED - BeanContextBuilder */
458   public WriterSerializerBuilder beanMethodVisibility(Visibility value) {
459      super.beanMethodVisibility(value);
460      return this;
461   }
462
463   @Override /* GENERATED - BeanContextBuilder */
464   public WriterSerializerBuilder beansDontRequireSomeProperties() {
465      super.beansDontRequireSomeProperties();
466      return this;
467   }
468
469   @Override /* GENERATED - BeanContextBuilder */
470   public WriterSerializerBuilder beansRequireDefaultConstructor() {
471      super.beansRequireDefaultConstructor();
472      return this;
473   }
474
475   @Override /* GENERATED - BeanContextBuilder */
476   public WriterSerializerBuilder beansRequireSerializable() {
477      super.beansRequireSerializable();
478      return this;
479   }
480
481   @Override /* GENERATED - BeanContextBuilder */
482   public WriterSerializerBuilder beansRequireSettersForGetters() {
483      super.beansRequireSettersForGetters();
484      return this;
485   }
486
487   @Override /* GENERATED - BeanContextBuilder */
488   public WriterSerializerBuilder bpi(Map<String,Object> values) {
489      super.bpi(values);
490      return this;
491   }
492
493   @Override /* GENERATED - BeanContextBuilder */
494   public WriterSerializerBuilder bpi(Class<?> beanClass, String properties) {
495      super.bpi(beanClass, properties);
496      return this;
497   }
498
499   @Override /* GENERATED - BeanContextBuilder */
500   public WriterSerializerBuilder bpi(String beanClassName, String properties) {
501      super.bpi(beanClassName, properties);
502      return this;
503   }
504
505   @Override /* GENERATED - BeanContextBuilder */
506   public WriterSerializerBuilder bpro(Map<String,Object> values) {
507      super.bpro(values);
508      return this;
509   }
510
511   @Override /* GENERATED - BeanContextBuilder */
512   public WriterSerializerBuilder bpro(Class<?> beanClass, String properties) {
513      super.bpro(beanClass, properties);
514      return this;
515   }
516
517   @Override /* GENERATED - BeanContextBuilder */
518   public WriterSerializerBuilder bpro(String beanClassName, String properties) {
519      super.bpro(beanClassName, properties);
520      return this;
521   }
522
523   @Override /* GENERATED - BeanContextBuilder */
524   public WriterSerializerBuilder bpwo(Map<String,Object> values) {
525      super.bpwo(values);
526      return this;
527   }
528
529   @Override /* GENERATED - BeanContextBuilder */
530   public WriterSerializerBuilder bpwo(Class<?> beanClass, String properties) {
531      super.bpwo(beanClass, properties);
532      return this;
533   }
534
535   @Override /* GENERATED - BeanContextBuilder */
536   public WriterSerializerBuilder bpwo(String beanClassName, String properties) {
537      super.bpwo(beanClassName, properties);
538      return this;
539   }
540
541   @Override /* GENERATED - BeanContextBuilder */
542   public WriterSerializerBuilder bpx(Map<String,Object> values) {
543      super.bpx(values);
544      return this;
545   }
546
547   @Override /* GENERATED - BeanContextBuilder */
548   public WriterSerializerBuilder bpx(Class<?> beanClass, String properties) {
549      super.bpx(beanClass, properties);
550      return this;
551   }
552
553   @Override /* GENERATED - BeanContextBuilder */
554   public WriterSerializerBuilder bpx(String beanClassName, String properties) {
555      super.bpx(beanClassName, properties);
556      return this;
557   }
558
559   @Override /* GENERATED - BeanContextBuilder */
560   public WriterSerializerBuilder dictionary(Object...values) {
561      super.dictionary(values);
562      return this;
563   }
564
565   @Override /* GENERATED - BeanContextBuilder */
566   public WriterSerializerBuilder dictionaryOn(Class<?> on, java.lang.Class<?>...values) {
567      super.dictionaryOn(on, values);
568      return this;
569   }
570
571   @Override /* GENERATED - BeanContextBuilder */
572   public WriterSerializerBuilder dontIgnorePropertiesWithoutSetters() {
573      super.dontIgnorePropertiesWithoutSetters();
574      return this;
575   }
576
577   @Override /* GENERATED - BeanContextBuilder */
578   public WriterSerializerBuilder dontIgnoreTransientFields() {
579      super.dontIgnoreTransientFields();
580      return this;
581   }
582
583   @Override /* GENERATED - BeanContextBuilder */
584   public WriterSerializerBuilder dontIgnoreUnknownNullBeanProperties() {
585      super.dontIgnoreUnknownNullBeanProperties();
586      return this;
587   }
588
589   @Override /* GENERATED - BeanContextBuilder */
590   public WriterSerializerBuilder dontUseInterfaceProxies() {
591      super.dontUseInterfaceProxies();
592      return this;
593   }
594
595   @Override /* GENERATED - BeanContextBuilder */
596   public <T> WriterSerializerBuilder example(Class<T> pojoClass, T o) {
597      super.example(pojoClass, o);
598      return this;
599   }
600
601   @Override /* GENERATED - BeanContextBuilder */
602   public <T> WriterSerializerBuilder exampleJson(Class<T> pojoClass, String json) {
603      super.exampleJson(pojoClass, json);
604      return this;
605   }
606
607   @Override /* GENERATED - BeanContextBuilder */
608   public WriterSerializerBuilder fluentSetters() {
609      super.fluentSetters();
610      return this;
611   }
612
613   @Override /* GENERATED - BeanContextBuilder */
614   public WriterSerializerBuilder fluentSetters(Class<?> on) {
615      super.fluentSetters(on);
616      return this;
617   }
618
619   @Override /* GENERATED - BeanContextBuilder */
620   public WriterSerializerBuilder ignoreInvocationExceptionsOnGetters() {
621      super.ignoreInvocationExceptionsOnGetters();
622      return this;
623   }
624
625   @Override /* GENERATED - BeanContextBuilder */
626   public WriterSerializerBuilder ignoreInvocationExceptionsOnSetters() {
627      super.ignoreInvocationExceptionsOnSetters();
628      return this;
629   }
630
631   @Override /* GENERATED - BeanContextBuilder */
632   public WriterSerializerBuilder ignoreUnknownBeanProperties() {
633      super.ignoreUnknownBeanProperties();
634      return this;
635   }
636
637   @Override /* GENERATED - BeanContextBuilder */
638   public WriterSerializerBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
639      super.implClass(interfaceClass, implClass);
640      return this;
641   }
642
643   @Override /* GENERATED - BeanContextBuilder */
644   public WriterSerializerBuilder implClasses(Map<Class<?>,Class<?>> values) {
645      super.implClasses(values);
646      return this;
647   }
648
649   @Override /* GENERATED - BeanContextBuilder */
650   public WriterSerializerBuilder interfaceClass(Class<?> on, Class<?> value) {
651      super.interfaceClass(on, value);
652      return this;
653   }
654
655   @Override /* GENERATED - BeanContextBuilder */
656   public WriterSerializerBuilder interfaces(java.lang.Class<?>...value) {
657      super.interfaces(value);
658      return this;
659   }
660
661   @Override /* GENERATED - BeanContextBuilder */
662   public WriterSerializerBuilder notBeanClasses(Object...values) {
663      super.notBeanClasses(values);
664      return this;
665   }
666
667   @Override /* GENERATED - BeanContextBuilder */
668   public WriterSerializerBuilder notBeanPackages(Object...values) {
669      super.notBeanPackages(values);
670      return this;
671   }
672
673   @Override /* GENERATED - BeanContextBuilder */
674   public WriterSerializerBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) {
675      super.propertyNamer(value);
676      return this;
677   }
678
679   @Override /* GENERATED - BeanContextBuilder */
680   public WriterSerializerBuilder propertyNamer(Class<?> on, Class<? extends org.apache.juneau.PropertyNamer> value) {
681      super.propertyNamer(on, value);
682      return this;
683   }
684
685   @Override /* GENERATED - BeanContextBuilder */
686   public WriterSerializerBuilder sortProperties() {
687      super.sortProperties();
688      return this;
689   }
690
691   @Override /* GENERATED - BeanContextBuilder */
692   public WriterSerializerBuilder sortProperties(java.lang.Class<?>...on) {
693      super.sortProperties(on);
694      return this;
695   }
696
697   @Override /* GENERATED - BeanContextBuilder */
698   public WriterSerializerBuilder stopClass(Class<?> on, Class<?> value) {
699      super.stopClass(on, value);
700      return this;
701   }
702
703   @Override /* GENERATED - BeanContextBuilder */
704   public WriterSerializerBuilder swaps(Object...values) {
705      super.swaps(values);
706      return this;
707   }
708
709   @Override /* GENERATED - BeanContextBuilder */
710   public WriterSerializerBuilder typeName(Class<?> on, String value) {
711      super.typeName(on, value);
712      return this;
713   }
714
715   @Override /* GENERATED - BeanContextBuilder */
716   public WriterSerializerBuilder typePropertyName(String value) {
717      super.typePropertyName(value);
718      return this;
719   }
720
721   @Override /* GENERATED - BeanContextBuilder */
722   public WriterSerializerBuilder typePropertyName(Class<?> on, String value) {
723      super.typePropertyName(on, value);
724      return this;
725   }
726
727   @Override /* GENERATED - BeanContextBuilder */
728   public WriterSerializerBuilder useEnumNames() {
729      super.useEnumNames();
730      return this;
731   }
732
733   @Override /* GENERATED - BeanContextBuilder */
734   public WriterSerializerBuilder useJavaBeanIntrospector() {
735      super.useJavaBeanIntrospector();
736      return this;
737   }
738
739   @Override /* GENERATED - BeanTraverseBuilder */
740   public WriterSerializerBuilder detectRecursions() {
741      super.detectRecursions();
742      return this;
743   }
744
745   @Override /* GENERATED - BeanTraverseBuilder */
746   public WriterSerializerBuilder ignoreRecursions() {
747      super.ignoreRecursions();
748      return this;
749   }
750
751   @Override /* GENERATED - BeanTraverseBuilder */
752   public WriterSerializerBuilder initialDepth(int value) {
753      super.initialDepth(value);
754      return this;
755   }
756
757   @Override /* GENERATED - BeanTraverseBuilder */
758   public WriterSerializerBuilder maxDepth(int value) {
759      super.maxDepth(value);
760      return this;
761   }
762
763   @Override /* GENERATED - SerializerBuilder */
764   public WriterSerializerBuilder addBeanTypes() {
765      super.addBeanTypes();
766      return this;
767   }
768
769   @Override /* GENERATED - SerializerBuilder */
770   public WriterSerializerBuilder addRootType() {
771      super.addRootType();
772      return this;
773   }
774
775   @Override /* GENERATED - SerializerBuilder */
776   public WriterSerializerBuilder keepNullProperties() {
777      super.keepNullProperties();
778      return this;
779   }
780
781   @Override /* GENERATED - SerializerBuilder */
782   public WriterSerializerBuilder listener(Class<? extends org.apache.juneau.serializer.SerializerListener> value) {
783      super.listener(value);
784      return this;
785   }
786
787   @Override /* GENERATED - SerializerBuilder */
788   public WriterSerializerBuilder sortCollections() {
789      super.sortCollections();
790      return this;
791   }
792
793   @Override /* GENERATED - SerializerBuilder */
794   public WriterSerializerBuilder sortMaps() {
795      super.sortMaps();
796      return this;
797   }
798
799   @Override /* GENERATED - SerializerBuilder */
800   public WriterSerializerBuilder trimEmptyCollections() {
801      super.trimEmptyCollections();
802      return this;
803   }
804
805   @Override /* GENERATED - SerializerBuilder */
806   public WriterSerializerBuilder trimEmptyMaps() {
807      super.trimEmptyMaps();
808      return this;
809   }
810
811   @Override /* GENERATED - SerializerBuilder */
812   public WriterSerializerBuilder trimStrings() {
813      super.trimStrings();
814      return this;
815   }
816
817   @Override /* GENERATED - SerializerBuilder */
818   public WriterSerializerBuilder uriContext(UriContext value) {
819      super.uriContext(value);
820      return this;
821   }
822
823   @Override /* GENERATED - SerializerBuilder */
824   public WriterSerializerBuilder uriRelativity(UriRelativity value) {
825      super.uriRelativity(value);
826      return this;
827   }
828
829   @Override /* GENERATED - SerializerBuilder */
830   public WriterSerializerBuilder uriResolution(UriResolution value) {
831      super.uriResolution(value);
832      return this;
833   }
834
835   // </FluentSetters>
836
837   @Override /* Context */
838   public WriterSerializer build() {
839      return null;
840   }
841}