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