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.lang.reflect.*;
018import java.nio.charset.*;
019import java.util.*;
020
021import org.apache.juneau.*;
022import org.apache.juneau.http.*;
023import org.apache.juneau.reflect.*;
024import org.apache.juneau.serializer.*;
025import org.apache.juneau.svl.*;
026
027/**
028 * Builder class for building instances of XML serializers.
029 */
030public class XmlSerializerBuilder extends WriterSerializerBuilder {
031
032   /**
033    * Constructor, default settings.
034    */
035   public XmlSerializerBuilder() {
036      super();
037   }
038
039   /**
040    * Constructor.
041    *
042    * @param ps The initial configuration settings for this builder.
043    */
044   public XmlSerializerBuilder(PropertyStore ps) {
045      super(ps);
046   }
047
048   @Override /* ContextBuilder */
049   public XmlSerializer build() {
050      return build(XmlSerializer.class);
051   }
052
053   //-----------------------------------------------------------------------------------------------------------------
054   // Properties
055   //-----------------------------------------------------------------------------------------------------------------
056
057   /**
058    * Configuration property:  Add namespace URLs to the root element.
059    *
060    * <p>
061    * Use this setting to add {@code xmlns:x} attributes to the root element for the default and all mapped namespaces.
062    *
063    * <ul class='seealso'>
064    *    <li class='jf'>{@link XmlSerializer#XML_addNamespaceUrisToRoot}
065    * </ul>
066    *
067    * @param value
068    *    The new value for this property.
069    *    <br>The default is <jk>false</jk>.
070    * @return This object (for method chaining).
071    */
072   public XmlSerializerBuilder addNamespaceUrisToRoot(boolean value) {
073      return set(XML_addNamespaceUrisToRoot, value);
074   }
075
076   /**
077    * Configuration property:  Add namespace URLs to the root element.
078    *
079    * <p>
080    * Shortcut for calling <code>addNamespaceUrisToRoot(<jk>true</jk>)</code>.
081    *
082    * <ul class='seealso'>
083    *    <li class='jf'>{@link XmlSerializer#XML_addNamespaceUrisToRoot}
084    * </ul>
085    *
086    * @return This object (for method chaining).
087    */
088   public XmlSerializerBuilder addNamespaceUrisToRoot() {
089      return set(XML_addNamespaceUrisToRoot, true);
090   }
091
092   /**
093    * Configuration property:  Auto-detect namespace usage.
094    *
095    * <p>
096    * Detect namespace usage before serialization.
097    *
098    * <ul class='seealso'>
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    * <ul class='seealso'>
118    *    <li class='jf'>{@link XmlSerializer#XML_defaultNamespace}
119    * </ul>
120    *
121    * @param value
122    *    The new value for this property.
123    *    <br>The default is <js>"juneau: http://www.apache.org/2013/Juneau"</js>.
124    * @return This object (for method chaining).
125    */
126   public XmlSerializerBuilder defaultNamespace(String value) {
127      return set(XML_defaultNamespace, value);
128   }
129
130   /**
131    * Configuration property:  Enable support for XML namespaces.
132    *
133    * <p>
134    * If not enabled, XML output will not contain any namespaces regardless of any other settings.
135    *
136    * <ul class='seealso'>
137    *    <li class='jf'>{@link XmlSerializer#XML_enableNamespaces}
138    * </ul>
139    *
140    * @param value
141    *    The new value for this property.
142    *    <br>The default is <jk>false</jk>.
143    * @return This object (for method chaining).
144    */
145   public XmlSerializerBuilder enableNamespaces(boolean value) {
146      return set(XML_enableNamespaces, value);
147   }
148
149   /**
150    * Configuration property:  Enable support for XML namespaces.
151    *
152    * <p>
153    * Shortcut for calling <code>enableNamespaces(<jk>true</jk>)</code>.
154    *
155    * <ul class='seealso'>
156    *    <li class='jf'>{@link XmlSerializer#XML_enableNamespaces}
157    * </ul>
158    *
159    * @return This object (for method chaining).
160    */
161   public XmlSerializerBuilder enableNamespaces() {
162      return set(XML_enableNamespaces, true);
163   }
164
165   /**
166    * Configuration property:  Enable support for XML namespaces.
167    *
168    * <p>
169    * Shortcut for calling <code>enableNamespaces(<jk>true</jk>)</code>.
170    *
171    * <ul class='seealso'>
172    *    <li class='jf'>{@link XmlSerializer#XML_enableNamespaces}
173    * </ul>
174    *
175    * @return This object (for method chaining).
176    */
177   public XmlSerializerBuilder ns() {
178      return set(XML_enableNamespaces, true);
179   }
180
181   /**
182    * Configuration property:  Default namespaces.
183    *
184    * <p>
185    * The default list of namespaces associated with this serializer.
186    *
187    * <ul class='seealso'>
188    *    <li class='jf'>{@link XmlSerializer#XML_namespaces}
189    * </ul>
190    *
191    * @param values The new value for this property.
192    * @return This object (for method chaining).
193    */
194   public XmlSerializerBuilder namespaces(Namespace...values) {
195      return set(XML_namespaces, values);
196   }
197
198   /**
199    * Configuration property:  Default namespaces.
200    *
201    * <p>
202    * The default list of namespaces associated with this serializer.
203    *
204    * <ul class='seealso'>
205    *    <li class='jf'>{@link XmlSerializer#XML_namespaces}
206    * </ul>
207    *
208    * @param values The new value for this property.
209    * @return This object (for method chaining).
210    */
211   public XmlSerializerBuilder namespaces(String...values) {
212      return set(XML_namespaces, Namespace.createArray(values));
213   }
214
215   /**
216    * Configuration property:  XMLSchema namespace.
217    *
218    * <p>
219    * Specifies the namespace for the <c>XMLSchema</c> namespace, used by the schema generated by the
220    * {@link org.apache.juneau.xmlschema.XmlSchemaSerializer} class.
221    *
222    * <ul class='seealso'>
223    *    <li class='jf'>{@link XmlSerializer#XML_xsNamespace}
224    * </ul>
225    *
226    * @param value
227    *    The new value for this property.
228    *    <br>The default is <js>"xs: http://www.w3.org/2001/XMLSchema"</js>.
229    * @return This object (for method chaining).
230    */
231   public XmlSerializerBuilder xsNamespace(Namespace value) {
232      return set(XML_xsNamespace, value);
233   }
234
235   /**
236    * Configuration property:  XMLSchema namespace.
237    *
238    * <p>
239    * Specifies the namespace for the <c>XMLSchema</c> namespace, used by the schema generated by the
240    * {@link org.apache.juneau.xmlschema.XmlSchemaSerializer} class.
241    *
242    * <ul class='seealso'>
243    *    <li class='jf'>{@link XmlSerializer#XML_xsNamespace}
244    * </ul>
245    *
246    * @param value
247    *    The new value for this property.
248    *    <br>The default is <js>"xs: http://www.w3.org/2001/XMLSchema"</js>.
249    * @return This object (for method chaining).
250    */
251   public XmlSerializerBuilder xsNamespace(String value) {
252      return set(XML_xsNamespace, Namespace.create(value));
253   }
254
255   @Override /* WriterSerializerBuilder */
256   public XmlSerializerBuilder fileCharset(Charset value) {
257      super.fileCharset(value);
258      return this;
259   }
260
261   @Override /* WriterSerializerBuilder */
262   public XmlSerializerBuilder maxIndent(int value) {
263      super.maxIndent(value);
264      return this;
265   }
266
267   @Override /* WriterSerializerBuilder */
268   public XmlSerializerBuilder quoteChar(char value) {
269      super.quoteChar(value);
270      return this;
271   }
272
273   @Override /* WriterSerializerBuilder */
274   public XmlSerializerBuilder sq() {
275      super.sq();
276      return this;
277   }
278
279   @Override /* WriterSerializerBuilder */
280   public XmlSerializerBuilder streamCharset(Charset value) {
281      super.streamCharset(value);
282      return this;
283   }
284
285   @Override /* WriterSerializerBuilder */
286   public XmlSerializerBuilder useWhitespace(boolean value) {
287      super.useWhitespace(value);
288      return this;
289   }
290
291   @Override /* WriterSerializerBuilder */
292   public XmlSerializerBuilder useWhitespace() {
293      super.useWhitespace();
294      return this;
295   }
296
297   @Override /* WriterSerializerBuilder */
298   public XmlSerializerBuilder ws() {
299      super.ws();
300      return this;
301   }
302
303   @Override /* SerializerBuilder */
304   public XmlSerializerBuilder addBeanTypes(boolean value) {
305      super.addBeanTypes(value);
306      return this;
307   }
308
309   @Override /* SerializerBuilder */
310   public XmlSerializerBuilder addBeanTypes() {
311      super.addBeanTypes();
312      return this;
313   }
314
315   @Override /* SerializerBuilder */
316   public XmlSerializerBuilder addRootType(boolean value) {
317      super.addRootType(value);
318      return this;
319   }
320
321   @Override /* SerializerBuilder */
322   public XmlSerializerBuilder addRootType() {
323      super.addRootType();
324      return this;
325   }
326
327   @Override /* SerializerBuilder */
328   public XmlSerializerBuilder detectRecursions(boolean value) {
329      super.detectRecursions(value);
330      return this;
331   }
332
333   @Override /* SerializerBuilder */
334   public XmlSerializerBuilder detectRecursions() {
335      super.detectRecursions();
336      return this;
337   }
338
339   @Override /* SerializerBuilder */
340   public XmlSerializerBuilder ignoreRecursions(boolean value) {
341      super.ignoreRecursions(value);
342      return this;
343   }
344
345   @Override /* SerializerBuilder */
346   public XmlSerializerBuilder ignoreRecursions() {
347      super.ignoreRecursions();
348      return this;
349   }
350   @Override /* SerializerBuilder */
351   public XmlSerializerBuilder initialDepth(int value) {
352      super.initialDepth(value);
353      return this;
354   }
355
356   @Override /* SerializerBuilder */
357   public XmlSerializerBuilder listener(Class<? extends SerializerListener> value) {
358      super.listener(value);
359      return this;
360   }
361
362   @Override /* SerializerBuilder */
363   public XmlSerializerBuilder maxDepth(int value) {
364      super.maxDepth(value);
365      return this;
366   }
367
368   @Override /* SerializerBuilder */
369   public XmlSerializerBuilder sortCollections(boolean value) {
370      super.sortCollections(value);
371      return this;
372   }
373
374   @Override /* SerializerBuilder */
375   public XmlSerializerBuilder sortCollections() {
376      super.sortCollections();
377      return this;
378   }
379
380   @Override /* SerializerBuilder */
381   public XmlSerializerBuilder sortMaps(boolean value) {
382      super.sortMaps(value);
383      return this;
384   }
385
386   @Override /* SerializerBuilder */
387   public XmlSerializerBuilder sortMaps() {
388      super.sortMaps();
389      return this;
390   }
391
392   @Override /* SerializerBuilder */
393   public XmlSerializerBuilder trimEmptyCollections(boolean value) {
394      super.trimEmptyCollections(value);
395      return this;
396   }
397
398   @Override /* SerializerBuilder */
399   public XmlSerializerBuilder trimEmptyCollections() {
400      super.trimEmptyCollections();
401      return this;
402   }
403
404   @Override /* SerializerBuilder */
405   public XmlSerializerBuilder trimEmptyMaps(boolean value) {
406      super.trimEmptyMaps(value);
407      return this;
408   }
409
410   @Override /* SerializerBuilder */
411   public XmlSerializerBuilder trimEmptyMaps() {
412      super.trimEmptyMaps();
413      return this;
414   }
415
416   @Override /* SerializerBuilder */
417   public XmlSerializerBuilder trimNullProperties(boolean value) {
418      super.trimNullProperties(value);
419      return this;
420   }
421
422   @Override /* SerializerBuilder */
423   public XmlSerializerBuilder trimStrings(boolean value) {
424      super.trimStrings(value);
425      return this;
426   }
427
428   @Override /* SerializerBuilder */
429   public XmlSerializerBuilder trimStrings() {
430      super.trimStrings();
431      return this;
432   }
433
434   @Override /* SerializerBuilder */
435   public XmlSerializerBuilder uriContext(UriContext value) {
436      super.uriContext(value);
437      return this;
438   }
439
440   @Override /* SerializerBuilder */
441   public XmlSerializerBuilder uriRelativity(UriRelativity value) {
442      super.uriRelativity(value);
443      return this;
444   }
445
446   @Override /* SerializerBuilder */
447   public XmlSerializerBuilder uriResolution(UriResolution value) {
448      super.uriResolution(value);
449      return this;
450   }
451
452   @Override /* BeanContextBuilder */
453   public XmlSerializerBuilder beanClassVisibility(Visibility value) {
454      super.beanClassVisibility(value);
455      return this;
456   }
457
458   @Override /* BeanContextBuilder */
459   public XmlSerializerBuilder beanConstructorVisibility(Visibility value) {
460      super.beanConstructorVisibility(value);
461      return this;
462   }
463
464   @Override /* BeanContextBuilder */
465   @Deprecated
466   public XmlSerializerBuilder beanDictionary(Class<?>...values) {
467      super.beanDictionary(values);
468      return this;
469   }
470
471   @Override /* BeanContextBuilder */
472   @Deprecated
473   public XmlSerializerBuilder beanDictionary(Object...values) {
474      super.beanDictionary(values);
475      return this;
476   }
477
478   @Override /* BeanContextBuilder */
479   @Deprecated
480   public XmlSerializerBuilder beanDictionaryReplace(Class<?>...values) {
481      super.beanDictionaryReplace(values);
482      return this;
483   }
484
485   @Override /* BeanContextBuilder */
486   @Deprecated
487   public XmlSerializerBuilder beanDictionaryReplace(Object...values) {
488      super.beanDictionaryReplace(values);
489      return this;
490   }
491
492   @Override /* BeanContextBuilder */
493   @Deprecated
494   public XmlSerializerBuilder beanDictionaryRemove(Class<?>...values) {
495      super.beanDictionaryRemove(values);
496      return this;
497   }
498
499   @Override /* BeanContextBuilder */
500   @Deprecated
501   public XmlSerializerBuilder beanDictionaryRemove(Object...values) {
502      super.beanDictionaryRemove(values);
503      return this;
504   }
505
506   @Override /* BeanContextBuilder */
507   public XmlSerializerBuilder beanFieldVisibility(Visibility value) {
508      super.beanFieldVisibility(value);
509      return this;
510   }
511
512   @Override /* BeanContextBuilder */
513   public XmlSerializerBuilder beanFilters(Class<?>...values) {
514      super.beanFilters(values);
515      return this;
516   }
517
518   @Override /* BeanContextBuilder */
519   public XmlSerializerBuilder beanFilters(Object...values) {
520      super.beanFilters(values);
521      return this;
522   }
523
524   @Override /* BeanContextBuilder */
525   public XmlSerializerBuilder beanFiltersReplace(Class<?>...values) {
526      super.beanFiltersReplace(values);
527      return this;
528   }
529
530   @Override /* BeanContextBuilder */
531   public XmlSerializerBuilder beanFiltersReplace(Object...values) {
532      super.beanFiltersReplace(values);
533      return this;
534   }
535
536   @Override /* BeanContextBuilder */
537   public XmlSerializerBuilder beanFiltersRemove(Class<?>...values) {
538      super.beanFiltersRemove(values);
539      return this;
540   }
541
542   @Override /* BeanContextBuilder */
543   public XmlSerializerBuilder beanFiltersRemove(Object...values) {
544      super.beanFiltersRemove(values);
545      return this;
546   }
547
548   @Override /* BeanContextBuilder */
549   public XmlSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
550      super.beanMapPutReturnsOldValue(value);
551      return this;
552   }
553
554   @Override /* BeanContextBuilder */
555   public XmlSerializerBuilder beanMapPutReturnsOldValue() {
556      super.beanMapPutReturnsOldValue();
557      return this;
558   }
559
560   @Override /* BeanContextBuilder */
561   public XmlSerializerBuilder beanMethodVisibility(Visibility value) {
562      super.beanMethodVisibility(value);
563      return this;
564   }
565
566   @Override /* BeanContextBuilder */
567   public XmlSerializerBuilder beansRequireDefaultConstructor(boolean value) {
568      super.beansRequireDefaultConstructor(value);
569      return this;
570   }
571
572   @Override /* BeanContextBuilder */
573   public XmlSerializerBuilder beansRequireDefaultConstructor() {
574      super.beansRequireDefaultConstructor();
575      return this;
576   }
577
578   @Override /* BeanContextBuilder */
579   public XmlSerializerBuilder beansRequireSerializable(boolean value) {
580      super.beansRequireSerializable(value);
581      return this;
582   }
583
584   @Override /* BeanContextBuilder */
585   public XmlSerializerBuilder beansRequireSerializable() {
586      super.beansRequireSerializable();
587      return this;
588   }
589
590   @Override /* BeanContextBuilder */
591   public XmlSerializerBuilder beansRequireSettersForGetters(boolean value) {
592      super.beansRequireSettersForGetters(value);
593      return this;
594   }
595
596   @Override /* BeanContextBuilder */
597   public XmlSerializerBuilder beansRequireSettersForGetters() {
598      super.beansRequireSettersForGetters();
599      return this;
600   }
601
602   @Override /* BeanContextBuilder */
603   public XmlSerializerBuilder beansRequireSomeProperties(boolean value) {
604      super.beansRequireSomeProperties(value);
605      return this;
606   }
607
608   @Override /* BeanContextBuilder */
609   public XmlSerializerBuilder beanTypePropertyName(String value) {
610      super.beanTypePropertyName(value);
611      return this;
612   }
613
614   @Override /* BeanContextBuilder */
615   public XmlSerializerBuilder bpi(Class<?> beanClass, String value) {
616      super.bpi(beanClass, value);
617      return this;
618   }
619
620   @Override /* BeanContextBuilder */
621   public XmlSerializerBuilder bpi(Map<String,String> values) {
622      super.bpi(values);
623      return this;
624   }
625
626   @Override /* BeanContextBuilder */
627   public XmlSerializerBuilder bpi(String beanClassName, String value) {
628      super.bpi(beanClassName, value);
629      return this;
630   }
631
632   @Override /* BeanContextBuilder */
633   public XmlSerializerBuilder bpx(Class<?> beanClass, String properties) {
634      super.bpx(beanClass, properties);
635      return this;
636   }
637
638   @Override /* BeanContextBuilder */
639   public XmlSerializerBuilder bpx(Map<String,String> values) {
640      super.bpx(values);
641      return this;
642   }
643
644   @Override /* BeanContextBuilder */
645   public XmlSerializerBuilder bpx(String beanClassName, String value) {
646      super.bpx(beanClassName, value);
647      return this;
648   }
649
650   @Override /* BeanContextBuilder */
651   public XmlSerializerBuilder bpro(Class<?> beanClass, String value) {
652      super.bpro(beanClass, value);
653      return this;
654   }
655
656   @Override /* BeanContextBuilder */
657   public XmlSerializerBuilder bpro(Map<String,String> values) {
658      super.bpro(values);
659      return this;
660   }
661
662   @Override /* BeanContextBuilder */
663   public XmlSerializerBuilder bpro(String beanClassName, String value) {
664      super.bpro(beanClassName, value);
665      return this;
666   }
667
668   @Override /* BeanContextBuilder */
669   public XmlSerializerBuilder bpwo(Class<?> beanClass, String properties) {
670      super.bpwo(beanClass, properties);
671      return this;
672   }
673
674   @Override /* BeanContextBuilder */
675   public XmlSerializerBuilder bpwo(Map<String,String> values) {
676      super.bpwo(values);
677      return this;
678   }
679
680   @Override /* BeanContextBuilder */
681   public XmlSerializerBuilder bpwo(String beanClassName, String value) {
682      super.bpwo(beanClassName, value);
683      return this;
684   }
685
686   @Override /* BeanContextBuilder */
687   public XmlSerializerBuilder debug() {
688      super.debug();
689      return this;
690   }
691
692   @Override /* BeanContextBuilder */
693   public XmlSerializerBuilder dictionary(Class<?>...values) {
694      super.dictionary(values);
695      return this;
696   }
697
698   @Override /* BeanContextBuilder */
699   public XmlSerializerBuilder dictionary(Object...values) {
700      super.dictionary(values);
701      return this;
702   }
703
704   @Override /* BeanContextBuilder */
705   public XmlSerializerBuilder dictionaryReplace(Class<?>...values) {
706      super.dictionaryReplace(values);
707      return this;
708   }
709
710   @Override /* BeanContextBuilder */
711   public XmlSerializerBuilder dictionaryReplace(Object...values) {
712      super.dictionaryReplace(values);
713      return this;
714   }
715
716   @Override /* BeanContextBuilder */
717   public XmlSerializerBuilder dictionaryRemove(Class<?>...values) {
718      super.dictionaryRemove(values);
719      return this;
720   }
721
722   @Override /* BeanContextBuilder */
723   public XmlSerializerBuilder dictionaryRemove(Object...values) {
724      super.dictionaryRemove(values);
725      return this;
726   }
727
728   @Override /* BeanContextBuilder */
729   public <T> XmlSerializerBuilder example(Class<T> c, T o) {
730      super.example(c, o);
731      return this;
732   }
733
734   @Override /* BeanContextBuilder */
735   public <T> XmlSerializerBuilder exampleJson(Class<T> c, String value) {
736      super.exampleJson(c, value);
737      return this;
738   }
739
740   @Override /* BeanContextBuilder */
741   public XmlSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
742      super.ignoreInvocationExceptionsOnGetters(value);
743      return this;
744   }
745
746   @Override /* BeanContextBuilder */
747   public XmlSerializerBuilder ignoreInvocationExceptionsOnGetters() {
748      super.ignoreInvocationExceptionsOnGetters();
749      return this;
750   }
751
752   @Override /* BeanContextBuilder */
753   public XmlSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
754      super.ignoreInvocationExceptionsOnSetters(value);
755      return this;
756   }
757
758   @Override /* BeanContextBuilder */
759   public XmlSerializerBuilder ignoreInvocationExceptionsOnSetters() {
760      super.ignoreInvocationExceptionsOnSetters();
761      return this;
762   }
763
764   @Override /* BeanContextBuilder */
765   public XmlSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
766      super.ignorePropertiesWithoutSetters(value);
767      return this;
768   }
769
770   @Override /* BeanContextBuilder */
771   public XmlSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
772      super.ignoreUnknownBeanProperties(value);
773      return this;
774   }
775
776   @Override /* BeanContextBuilder */
777   public XmlSerializerBuilder ignoreUnknownBeanProperties() {
778      super.ignoreUnknownBeanProperties();
779      return this;
780   }
781
782   @Override /* BeanContextBuilder */
783   public XmlSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
784      super.ignoreUnknownNullBeanProperties(value);
785      return this;
786   }
787
788   @Override /* BeanContextBuilder */
789   public XmlSerializerBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
790      super.implClass(interfaceClass, implClass);
791      return this;
792   }
793
794   @Override /* BeanContextBuilder */
795   public XmlSerializerBuilder implClasses(Map<String,Class<?>> values) {
796      super.implClasses(values);
797      return this;
798   }
799
800   @Override /* BeanContextBuilder */
801   public XmlSerializerBuilder locale(Locale value) {
802      super.locale(value);
803      return this;
804   }
805
806   @Override /* BeanContextBuilder */
807   public XmlSerializerBuilder mediaType(MediaType value) {
808      super.mediaType(value);
809      return this;
810   }
811
812   @Override /* BeanContextBuilder */
813   public XmlSerializerBuilder notBeanClasses(Class<?>...values) {
814      super.notBeanClasses(values);
815      return this;
816   }
817
818   @Override /* BeanContextBuilder */
819   public XmlSerializerBuilder notBeanClasses(Object...values) {
820      super.notBeanClasses(values);
821      return this;
822   }
823
824   @Override /* BeanContextBuilder */
825   public XmlSerializerBuilder notBeanClassesReplace(Class<?>...values) {
826      super.notBeanClassesReplace(values);
827      return this;
828   }
829
830   @Override /* BeanContextBuilder */
831   public XmlSerializerBuilder notBeanClassesReplace(Object...values) {
832      super.notBeanClassesReplace(values);
833      return this;
834   }
835
836   @Override /* BeanContextBuilder */
837   public XmlSerializerBuilder notBeanClassesRemove(Class<?>...values) {
838      super.notBeanClassesRemove(values);
839      return this;
840   }
841
842   @Override /* BeanContextBuilder */
843   public XmlSerializerBuilder notBeanClassesRemove(Object...values) {
844      super.notBeanClassesRemove(values);
845      return this;
846   }
847
848   @Override /* BeanContextBuilder */
849   public XmlSerializerBuilder notBeanPackages(Object...values) {
850      super.notBeanPackages(values);
851      return this;
852   }
853
854   @Override /* BeanContextBuilder */
855   public XmlSerializerBuilder notBeanPackages(String...values) {
856      super.notBeanPackages(values);
857      return this;
858   }
859
860   @Override /* BeanContextBuilder */
861   public XmlSerializerBuilder notBeanPackagesReplace(String...values) {
862      super.notBeanPackagesReplace(values);
863      return this;
864   }
865
866   @Override /* BeanContextBuilder */
867   public XmlSerializerBuilder notBeanPackagesReplace(Object...values) {
868      super.notBeanPackagesReplace(values);
869      return this;
870   }
871
872   @Override /* BeanContextBuilder */
873   public XmlSerializerBuilder notBeanPackagesRemove(String...values) {
874      super.notBeanPackagesRemove(values);
875      return this;
876   }
877
878   @Override /* BeanContextBuilder */
879   public XmlSerializerBuilder notBeanPackagesRemove(Object...values) {
880      super.notBeanPackagesRemove(values);
881      return this;
882   }
883
884   @Override /* BeanContextBuilder */
885   public XmlSerializerBuilder pojoSwaps(Class<?>...values) {
886      super.pojoSwaps(values);
887      return this;
888   }
889
890   @Override /* BeanContextBuilder */
891   public XmlSerializerBuilder pojoSwaps(Object...values) {
892      super.pojoSwaps(values);
893      return this;
894   }
895
896   @Override /* BeanContextBuilder */
897   public XmlSerializerBuilder pojoSwapsReplace(Class<?>...values) {
898      super.pojoSwapsReplace(values);
899      return this;
900   }
901
902   @Override /* BeanContextBuilder */
903   public XmlSerializerBuilder pojoSwapsReplace(Object...values) {
904      super.pojoSwapsReplace(values);
905      return this;
906   }
907
908   @Override /* BeanContextBuilder */
909   public XmlSerializerBuilder pojoSwapsRemove(Class<?>...values) {
910      super.pojoSwapsRemove(values);
911      return this;
912   }
913
914   @Override /* BeanContextBuilder */
915   public XmlSerializerBuilder pojoSwapsRemove(Object...values) {
916      super.pojoSwapsRemove(values);
917      return this;
918   }
919
920   @Override /* BeanContextBuilder */
921   public XmlSerializerBuilder sortProperties(boolean value) {
922      super.sortProperties(value);
923      return this;
924   }
925
926   @Override /* BeanContextBuilder */
927   public XmlSerializerBuilder sortProperties() {
928      super.sortProperties();
929      return this;
930   }
931
932   @Override /* BeanContextBuilder */
933   public XmlSerializerBuilder timeZone(TimeZone value) {
934      super.timeZone(value);
935      return this;
936   }
937
938   @Override /* BeanContextBuilder */
939   public XmlSerializerBuilder useEnumNames(boolean value) {
940      super.useEnumNames(value);
941      return this;
942   }
943
944   @Override /* BeanContextBuilder */
945   public XmlSerializerBuilder useEnumNames() {
946      super.useEnumNames();
947      return this;
948   }
949
950   @Override /* BeanContextBuilder */
951   public XmlSerializerBuilder useInterfaceProxies(boolean value) {
952      super.useInterfaceProxies(value);
953      return this;
954   }
955
956   @Override /* BeanContextBuilder */
957   public XmlSerializerBuilder useJavaBeanIntrospector(boolean value) {
958      super.useJavaBeanIntrospector(value);
959      return this;
960   }
961
962   @Override /* BeanContextBuilder */
963   public XmlSerializerBuilder useJavaBeanIntrospector() {
964      super.useJavaBeanIntrospector();
965      return this;
966   }
967
968   @Override /* ContextBuilder */
969   public XmlSerializerBuilder set(String name, Object value) {
970      super.set(name, value);
971      return this;
972   }
973
974   @Override /* ContextBuilder */
975   public XmlSerializerBuilder set(Map<String,Object> properties) {
976      super.set(properties);
977      return this;
978   }
979
980   @Override /* ContextBuilder */
981   public XmlSerializerBuilder add(Map<String,Object> properties) {
982      super.add(properties);
983      return this;
984   }
985
986   @Override /* ContextBuilder */
987   public XmlSerializerBuilder addTo(String name, Object value) {
988      super.addTo(name, value);
989      return this;
990   }
991
992   @Override /* ContextBuilder */
993   public XmlSerializerBuilder addTo(String name, String key, Object value) {
994      super.addTo(name, key, value);
995      return this;
996   }
997
998   @Override /* ContextBuilder */
999   public XmlSerializerBuilder removeFrom(String name, Object value) {
1000      super.removeFrom(name, value);
1001      return this;
1002   }
1003
1004   @Override /* ContextBuilder */
1005   public XmlSerializerBuilder apply(PropertyStore copyFrom) {
1006      super.apply(copyFrom);
1007      return this;
1008   }
1009
1010   @Override /* ContextBuilder */
1011   public XmlSerializerBuilder applyAnnotations(AnnotationList al, VarResolverSession vrs) {
1012      super.applyAnnotations(al, vrs);
1013      return this;
1014   }
1015
1016   @Override /* ContextBuilder */
1017   public XmlSerializerBuilder applyAnnotations(Class<?> fromClass) {
1018      super.applyAnnotations(fromClass);
1019      return this;
1020   }
1021
1022   @Override /* ContextBuilder */
1023   public XmlSerializerBuilder applyAnnotations(Method fromMethod) {
1024      super.applyAnnotations(fromMethod);
1025      return this;
1026   }
1027}