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.XmlParser.*;
016
017import java.lang.annotation.*;
018import java.lang.reflect.*;
019import java.nio.charset.*;
020import java.util.*;
021
022import javax.xml.stream.*;
023import javax.xml.stream.util.*;
024
025import org.apache.juneau.*;
026import org.apache.juneau.http.*;
027import org.apache.juneau.parser.*;
028import org.apache.juneau.reflect.*;
029import org.apache.juneau.svl.*;
030
031/**
032 * Builder class for building XML parsers.
033 */
034public class XmlParserBuilder extends ReaderParserBuilder {
035
036   /**
037    * Constructor, default settings.
038    */
039   public XmlParserBuilder() {
040      super();
041   }
042
043   /**
044    * Constructor.
045    *
046    * @param ps The initial configuration settings for this builder.
047    */
048   public XmlParserBuilder(PropertyStore ps) {
049      super(ps);
050   }
051
052   @Override /* ContextBuilder */
053   public XmlParser build() {
054      return build(XmlParser.class);
055   }
056
057   //-----------------------------------------------------------------------------------------------------------------
058   // Properties
059   //-----------------------------------------------------------------------------------------------------------------
060
061   /**
062    * Configuration property:  XML event allocator.
063    *
064    * <p>
065    * Associates an {@link XMLEventAllocator} with this parser.
066    *
067    * <ul class='seealso'>
068    *    <li class='jf'>{@link XmlParser#XML_eventAllocator}
069    * </ul>
070    *
071    * @param value The new value for this property.
072    * @return This object (for method chaining).
073    */
074   public XmlParserBuilder eventAllocator(XMLEventAllocator value) {
075      return set(XML_eventAllocator, value);
076   }
077
078   /**
079    * Configuration property:  XML event allocator.
080    *
081    * <p>
082    * Associates an {@link XMLEventAllocator} with this parser.
083    *
084    * <ul class='seealso'>
085    *    <li class='jf'>{@link XmlParser#XML_eventAllocator}
086    * </ul>
087    *
088    * @param value The new value for this property.
089    * @return This object (for method chaining).
090    */
091   public XmlParserBuilder eventAllocator(Class<? extends XMLEventAllocator> value) {
092      return set(XML_eventAllocator, value);
093   }
094
095   /**
096    * Configuration property:  Preserve root element during generalized parsing.
097    *
098    * <p>
099    * If <jk>true</jk>, when parsing into a generic {@link ObjectMap}, the map will contain a single entry whose key is
100    * the root element name.
101    *
102    * <ul class='seealso'>
103    *    <li class='jf'>{@link XmlParser#XML_preserveRootElement}
104    * </ul>
105    *
106    * @param value
107    *    The new value for this property.
108    *    <br>The default is <jk>false</jk>.
109    * @return This object (for method chaining).
110    */
111   public XmlParserBuilder preserveRootElement(boolean value) {
112      return set(XML_preserveRootElement, value);
113   }
114
115   /**
116    * Configuration property:  Preserve root element during generalized parsing.
117    *
118    * <p>
119    * Shortcut for calling <code>preserveRootElement(<jk>true</jk>)</code>.
120    *
121    * <ul class='seealso'>
122    *    <li class='jf'>{@link XmlParser#XML_preserveRootElement}
123    * </ul>
124    *
125    * @return This object (for method chaining).
126    */
127   public XmlParserBuilder preserveRootElement() {
128      return set(XML_preserveRootElement, true);
129   }
130
131   /**
132    * Configuration property:  XML reporter.
133    *
134    * <p>
135    * Associates an {@link XMLReporter} with this parser.
136    *
137    * <ul class='seealso'>
138    *    <li class='jf'>{@link XmlParser#XML_reporter}
139    * </ul>
140    *
141    * @param value The new value for this property.
142    * @return This object (for method chaining).
143    */
144   public XmlParserBuilder reporter(XMLReporter value) {
145      return set(XML_reporter, value);
146   }
147
148   /**
149    * Configuration property:  XML reporter.
150    *
151    * <p>
152    * Associates an {@link XMLReporter} with this parser.
153    *
154    * <ul class='seealso'>
155    *    <li class='jf'>{@link XmlParser#XML_reporter}
156    * </ul>
157    *
158    * @param value The new value for this property.
159    * @return This object (for method chaining).
160    */
161   public XmlParserBuilder reporter(Class<? extends XMLReporter> value) {
162      return set(XML_reporter, value);
163   }
164
165   /**
166    * Configuration property:  XML resolver.
167    *
168    * <p>
169    * Associates an {@link XMLResolver} with this parser.
170    *
171    * <ul class='seealso'>
172    *    <li class='jf'>{@link XmlParser#XML_resolver}
173    * </ul>
174    *
175    * @param value The new value for this property.
176    * @return This object (for method chaining).
177    */
178   public XmlParserBuilder resolver(XMLResolver value) {
179      return set(XML_resolver, value);
180   }
181
182   /**
183    * Configuration property:  XML resolver.
184    *
185    * <p>
186    * Associates an {@link XMLResolver} with this parser.
187    *
188    * <ul class='seealso'>
189    *    <li class='jf'>{@link XmlParser#XML_resolver}
190    * </ul>
191    *
192    * @param value The new value for this property.
193    * @return This object (for method chaining).
194    */
195   public XmlParserBuilder resolver(Class<? extends XMLResolver> value) {
196      return set(XML_resolver, value);
197   }
198
199   /**
200    * Configuration property:  Enable validation.
201    *
202    * <p>
203    * If <jk>true</jk>, XML document will be validated.
204    *
205    * <ul class='seealso'>
206    *    <li class='jf'>{@link XmlParser#XML_validating}
207    * </ul>
208    *
209    * @param value
210    *    The new value for this property.
211    *    <br>The default is <jk>false</jk>.
212    * @return This object (for method chaining).
213    */
214   public XmlParserBuilder validating(boolean value) {
215      return set(XML_validating, value);
216   }
217
218   /**
219    * Configuration property:  Enable validation.
220    *
221    * <p>
222    * Shortcut for calling <code>validating(<jk>true</jk>)</code>.
223    *
224    * <ul class='seealso'>
225    *    <li class='jf'>{@link XmlParser#XML_validating}
226    * </ul>
227    *
228    * @return This object (for method chaining).
229    */
230   public XmlParserBuilder validating() {
231      return set(XML_validating, true);
232   }
233
234   @Override /* ReaderParserBuilder */
235   public XmlParserBuilder fileCharset(Charset value) {
236      super.fileCharset(value);
237      return this;
238   }
239
240   @Override /* ReaderParserBuilder */
241   public XmlParserBuilder streamCharset(Charset value) {
242      super.streamCharset(value);
243      return this;
244   }
245
246   @Override /* ParserBuilder */
247   public XmlParserBuilder autoCloseStreams(boolean value) {
248      super.autoCloseStreams(value);
249      return this;
250   }
251
252   @Override /* ParserBuilder */
253   public XmlParserBuilder autoCloseStreams() {
254      super.autoCloseStreams();
255      return this;
256   }
257
258   @Override /* ParserBuilder */
259   public XmlParserBuilder debugOutputLines(int value) {
260      super.debugOutputLines(value);
261      return this;
262   }
263
264   @Override /* ParserBuilder */
265   public XmlParserBuilder listener(Class<? extends ParserListener> value) {
266      super.listener(value);
267      return this;
268   }
269
270   @Override /* ParserBuilder */
271   public XmlParserBuilder strict(boolean value) {
272      super.strict(value);
273      return this;
274   }
275
276   @Override /* ParserBuilder */
277   public XmlParserBuilder strict() {
278      super.strict();
279      return this;
280   }
281
282   @Override /* ParserBuilder */
283   public XmlParserBuilder trimStrings(boolean value) {
284      super.trimStrings(value);
285      return this;
286   }
287
288   @Override /* ParserBuilder */
289   public XmlParserBuilder trimStrings() {
290      super.trimStrings();
291      return this;
292   }
293
294   @Override /* ParserBuilder */
295   public XmlParserBuilder unbuffered(boolean value) {
296      super.unbuffered(value);
297      return this;
298   }
299
300   @Override /* ParserBuilder */
301   public XmlParserBuilder unbuffered() {
302      super.unbuffered();
303      return this;
304   }
305
306   @Override /* BeanContextBuilder */
307   public XmlParserBuilder annotations(Annotation...values) {
308      super.annotations(values);
309      return this;
310   }
311
312   @Override /* BeanContextBuilder */
313   public XmlParserBuilder beanClassVisibility(Visibility value) {
314      super.beanClassVisibility(value);
315      return this;
316   }
317
318   @Override /* BeanContextBuilder */
319   public XmlParserBuilder beanConstructorVisibility(Visibility value) {
320      super.beanConstructorVisibility(value);
321      return this;
322   }
323
324   @Override /* BeanContextBuilder */
325   @Deprecated
326   public XmlParserBuilder beanDictionary(Class<?>...values) {
327      super.beanDictionary(values);
328      return this;
329   }
330
331   @Override /* BeanContextBuilder */
332   @Deprecated
333   public XmlParserBuilder beanDictionary(Object...values) {
334      super.beanDictionary(values);
335      return this;
336   }
337
338   @Override /* BeanContextBuilder */
339   @Deprecated
340   public XmlParserBuilder beanDictionaryReplace(Class<?>...values) {
341      super.beanDictionaryReplace(values);
342      return this;
343   }
344
345   @Override /* BeanContextBuilder */
346   @Deprecated
347   public XmlParserBuilder beanDictionaryReplace(Object...values) {
348      super.beanDictionaryReplace(values);
349      return this;
350   }
351
352   @Override /* BeanContextBuilder */
353   @Deprecated
354   public XmlParserBuilder beanDictionaryRemove(Class<?>...values) {
355      super.beanDictionaryRemove(values);
356      return this;
357   }
358
359   @Override /* BeanContextBuilder */
360   @Deprecated
361   public XmlParserBuilder beanDictionaryRemove(Object...values) {
362      super.beanDictionaryRemove(values);
363      return this;
364   }
365
366   @Override /* BeanContextBuilder */
367   public XmlParserBuilder beanFieldVisibility(Visibility value) {
368      super.beanFieldVisibility(value);
369      return this;
370   }
371
372   @Override /* BeanContextBuilder */
373   public XmlParserBuilder beanFilters(Class<?>...values) {
374      super.beanFilters(values);
375      return this;
376   }
377
378   @Override /* BeanContextBuilder */
379   public XmlParserBuilder beanFilters(Object...values) {
380      super.beanFilters(values);
381      return this;
382   }
383
384   @Override /* BeanContextBuilder */
385   public XmlParserBuilder beanFiltersReplace(Class<?>...values) {
386      super.beanFiltersReplace(values);
387      return this;
388   }
389
390   @Override /* BeanContextBuilder */
391   public XmlParserBuilder beanFiltersReplace(Object...values) {
392      super.beanFiltersReplace(values);
393      return this;
394   }
395
396   @Override /* BeanContextBuilder */
397   public XmlParserBuilder beanFiltersRemove(Class<?>...values) {
398      super.beanFiltersRemove(values);
399      return this;
400   }
401
402   @Override /* BeanContextBuilder */
403   public XmlParserBuilder beanFiltersRemove(Object...values) {
404      super.beanFiltersRemove(values);
405      return this;
406   }
407
408   @Override /* BeanContextBuilder */
409   public XmlParserBuilder beanMapPutReturnsOldValue(boolean value) {
410      super.beanMapPutReturnsOldValue(value);
411      return this;
412   }
413
414   @Override /* BeanContextBuilder */
415   public XmlParserBuilder beanMapPutReturnsOldValue() {
416      super.beanMapPutReturnsOldValue();
417      return this;
418   }
419
420   @Override /* BeanContextBuilder */
421   public XmlParserBuilder beanMethodVisibility(Visibility value) {
422      super.beanMethodVisibility(value);
423      return this;
424   }
425
426   @Override /* BeanContextBuilder */
427   public XmlParserBuilder beansRequireDefaultConstructor(boolean value) {
428      super.beansRequireDefaultConstructor(value);
429      return this;
430   }
431
432   @Override /* BeanContextBuilder */
433   public XmlParserBuilder beansRequireDefaultConstructor() {
434      super.beansRequireDefaultConstructor();
435      return this;
436   }
437
438   @Override /* BeanContextBuilder */
439   public XmlParserBuilder beansRequireSerializable(boolean value) {
440      super.beansRequireSerializable(value);
441      return this;
442   }
443
444   @Override /* BeanContextBuilder */
445   public XmlParserBuilder beansRequireSerializable() {
446      super.beansRequireSerializable();
447      return this;
448   }
449
450   @Override /* BeanContextBuilder */
451   public XmlParserBuilder beansRequireSettersForGetters(boolean value) {
452      super.beansRequireSettersForGetters(value);
453      return this;
454   }
455
456   @Override /* BeanContextBuilder */
457   public XmlParserBuilder beansRequireSettersForGetters() {
458      super.beansRequireSettersForGetters();
459      return this;
460   }
461
462   @Override /* BeanContextBuilder */
463   public XmlParserBuilder beansRequireSomeProperties(boolean value) {
464      super.beansRequireSomeProperties(value);
465      return this;
466   }
467
468   @Override /* BeanContextBuilder */
469   public XmlParserBuilder beanTypePropertyName(String value) {
470      super.beanTypePropertyName(value);
471      return this;
472   }
473
474   @Override /* BeanContextBuilder */
475   public XmlParserBuilder bpi(Class<?> beanClass, String value) {
476      super.bpi(beanClass, value);
477      return this;
478   }
479
480   @Override /* BeanContextBuilder */
481   public XmlParserBuilder bpi(Map<String,String> values) {
482      super.bpi(values);
483      return this;
484   }
485
486   @Override /* BeanContextBuilder */
487   public XmlParserBuilder bpi(String beanClassName, String value) {
488      super.bpi(beanClassName, value);
489      return this;
490   }
491
492   @Override /* BeanContextBuilder */
493   public XmlParserBuilder bpx(Class<?> beanClass, String properties) {
494      super.bpx(beanClass, properties);
495      return this;
496   }
497
498   @Override /* BeanContextBuilder */
499   public XmlParserBuilder bpx(Map<String,String> values) {
500      super.bpx(values);
501      return this;
502   }
503
504   @Override /* BeanContextBuilder */
505   public XmlParserBuilder bpx(String beanClassName, String value) {
506      super.bpx(beanClassName, value);
507      return this;
508   }
509
510   @Override /* BeanContextBuilder */
511   public XmlParserBuilder bpro(Class<?> beanClass, String value) {
512      super.bpro(beanClass, value);
513      return this;
514   }
515
516   @Override /* BeanContextBuilder */
517   public XmlParserBuilder bpro(Map<String,String> values) {
518      super.bpro(values);
519      return this;
520   }
521
522   @Override /* BeanContextBuilder */
523   public XmlParserBuilder bpro(String beanClassName, String value) {
524      super.bpro(beanClassName, value);
525      return this;
526   }
527
528   @Override /* BeanContextBuilder */
529   public XmlParserBuilder bpwo(Class<?> beanClass, String properties) {
530      super.bpwo(beanClass, properties);
531      return this;
532   }
533
534   @Override /* BeanContextBuilder */
535   public XmlParserBuilder bpwo(Map<String,String> values) {
536      super.bpwo(values);
537      return this;
538   }
539
540   @Override /* BeanContextBuilder */
541   public XmlParserBuilder bpwo(String beanClassName, String value) {
542      super.bpwo(beanClassName, value);
543      return this;
544   }
545
546   @Override /* BeanContextBuilder */
547   public XmlParserBuilder debug() {
548      super.debug();
549      return this;
550   }
551
552   @Override /* BeanContextBuilder */
553   public XmlParserBuilder dictionary(Class<?>...values) {
554      super.dictionary(values);
555      return this;
556   }
557
558   @Override /* BeanContextBuilder */
559   public XmlParserBuilder dictionary(Object...values) {
560      super.dictionary(values);
561      return this;
562   }
563
564   @Override /* BeanContextBuilder */
565   public XmlParserBuilder dictionaryReplace(Class<?>...values) {
566      super.dictionaryReplace(values);
567      return this;
568   }
569
570   @Override /* BeanContextBuilder */
571   public XmlParserBuilder dictionaryReplace(Object...values) {
572      super.dictionaryReplace(values);
573      return this;
574   }
575
576   @Override /* BeanContextBuilder */
577   public XmlParserBuilder dictionaryRemove(Class<?>...values) {
578      super.dictionaryRemove(values);
579      return this;
580   }
581
582   @Override /* BeanContextBuilder */
583   public XmlParserBuilder dictionaryRemove(Object...values) {
584      super.dictionaryRemove(values);
585      return this;
586   }
587
588   @Override /* BeanContextBuilder */
589   public <T> XmlParserBuilder example(Class<T> c, T o) {
590      super.example(c, o);
591      return this;
592   }
593
594   @Override /* BeanContextBuilder */
595   public <T> XmlParserBuilder exampleJson(Class<T> c, String value) {
596      super.exampleJson(c, value);
597      return this;
598   }
599
600   @Override /* BeanContextBuilder */
601   public XmlParserBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
602      super.ignoreInvocationExceptionsOnGetters(value);
603      return this;
604   }
605
606   @Override /* BeanContextBuilder */
607   public XmlParserBuilder ignoreInvocationExceptionsOnGetters() {
608      super.ignoreInvocationExceptionsOnGetters();
609      return this;
610   }
611
612   @Override /* BeanContextBuilder */
613   public XmlParserBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
614      super.ignoreInvocationExceptionsOnSetters(value);
615      return this;
616   }
617
618   @Override /* BeanContextBuilder */
619   public XmlParserBuilder ignoreInvocationExceptionsOnSetters() {
620      super.ignoreInvocationExceptionsOnSetters();
621      return this;
622   }
623
624   @Override /* BeanContextBuilder */
625   public XmlParserBuilder ignorePropertiesWithoutSetters(boolean value) {
626      super.ignorePropertiesWithoutSetters(value);
627      return this;
628   }
629
630   @Override /* BeanContextBuilder */
631   public XmlParserBuilder ignoreUnknownBeanProperties(boolean value) {
632      super.ignoreUnknownBeanProperties(value);
633      return this;
634   }
635
636   @Override /* BeanContextBuilder */
637   public XmlParserBuilder ignoreUnknownBeanProperties() {
638      super.ignoreUnknownBeanProperties();
639      return this;
640   }
641
642   @Override /* BeanContextBuilder */
643   public XmlParserBuilder ignoreUnknownNullBeanProperties(boolean value) {
644      super.ignoreUnknownNullBeanProperties(value);
645      return this;
646   }
647
648   @Override /* BeanContextBuilder */
649   public XmlParserBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
650      super.implClass(interfaceClass, implClass);
651      return this;
652   }
653
654   @Override /* BeanContextBuilder */
655   public XmlParserBuilder implClasses(Map<String,Class<?>> values) {
656      super.implClasses(values);
657      return this;
658   }
659
660   @Override /* BeanContextBuilder */
661   public XmlParserBuilder locale(Locale value) {
662      super.locale(value);
663      return this;
664   }
665
666   @Override /* BeanContextBuilder */
667   public XmlParserBuilder mediaType(MediaType value) {
668      super.mediaType(value);
669      return this;
670   }
671
672   @Override /* BeanContextBuilder */
673   public XmlParserBuilder notBeanClasses(Class<?>...values) {
674      super.notBeanClasses(values);
675      return this;
676   }
677
678   @Override /* BeanContextBuilder */
679   public XmlParserBuilder notBeanClasses(Object...values) {
680      super.notBeanClasses(values);
681      return this;
682   }
683
684   @Override /* BeanContextBuilder */
685   public XmlParserBuilder notBeanClassesReplace(Class<?>...values) {
686      super.notBeanClassesReplace(values);
687      return this;
688   }
689
690   @Override /* BeanContextBuilder */
691   public XmlParserBuilder notBeanClassesReplace(Object...values) {
692      super.notBeanClassesReplace(values);
693      return this;
694   }
695
696   @Override /* BeanContextBuilder */
697   public XmlParserBuilder notBeanClassesRemove(Class<?>...values) {
698      super.notBeanClassesRemove(values);
699      return this;
700   }
701
702   @Override /* BeanContextBuilder */
703   public XmlParserBuilder notBeanClassesRemove(Object...values) {
704      super.notBeanClassesRemove(values);
705      return this;
706   }
707
708   @Override /* BeanContextBuilder */
709   public XmlParserBuilder notBeanPackages(Object...values) {
710      super.notBeanPackages(values);
711      return this;
712   }
713
714   @Override /* BeanContextBuilder */
715   public XmlParserBuilder notBeanPackages(String...values) {
716      super.notBeanPackages(values);
717      return this;
718   }
719
720   @Override /* BeanContextBuilder */
721   public XmlParserBuilder notBeanPackagesReplace(String...values) {
722      super.notBeanPackagesReplace(values);
723      return this;
724   }
725
726   @Override /* BeanContextBuilder */
727   public XmlParserBuilder notBeanPackagesReplace(Object...values) {
728      super.notBeanPackagesReplace(values);
729      return this;
730   }
731
732   @Override /* BeanContextBuilder */
733   public XmlParserBuilder notBeanPackagesRemove(String...values) {
734      super.notBeanPackagesRemove(values);
735      return this;
736   }
737
738   @Override /* BeanContextBuilder */
739   public XmlParserBuilder notBeanPackagesRemove(Object...values) {
740      super.notBeanPackagesRemove(values);
741      return this;
742   }
743
744   @Override /* BeanContextBuilder */
745   public XmlParserBuilder pojoSwaps(Class<?>...values) {
746      super.pojoSwaps(values);
747      return this;
748   }
749
750   @Override /* BeanContextBuilder */
751   public XmlParserBuilder pojoSwaps(Object...values) {
752      super.pojoSwaps(values);
753      return this;
754   }
755
756   @Override /* BeanContextBuilder */
757   public XmlParserBuilder pojoSwapsReplace(Class<?>...values) {
758      super.pojoSwapsReplace(values);
759      return this;
760   }
761
762   @Override /* BeanContextBuilder */
763   public XmlParserBuilder pojoSwapsReplace(Object...values) {
764      super.pojoSwapsReplace(values);
765      return this;
766   }
767
768   @Override /* BeanContextBuilder */
769   public XmlParserBuilder pojoSwapsRemove(Class<?>...values) {
770      super.pojoSwapsRemove(values);
771      return this;
772   }
773
774   @Override /* BeanContextBuilder */
775   public XmlParserBuilder pojoSwapsRemove(Object...values) {
776      super.pojoSwapsRemove(values);
777      return this;
778   }
779
780   @Override /* BeanContextBuilder */
781   public XmlParserBuilder sortProperties(boolean value) {
782      super.sortProperties(value);
783      return this;
784   }
785
786   @Override /* BeanContextBuilder */
787   public XmlParserBuilder sortProperties() {
788      super.sortProperties();
789      return this;
790   }
791
792   @Override /* BeanContextBuilder */
793   public XmlParserBuilder timeZone(TimeZone value) {
794      super.timeZone(value);
795      return this;
796   }
797
798   @Override /* BeanContextBuilder */
799   public XmlParserBuilder useEnumNames(boolean value) {
800      super.useEnumNames(value);
801      return this;
802   }
803
804   @Override /* BeanContextBuilder */
805   public XmlParserBuilder useEnumNames() {
806      super.useEnumNames();
807      return this;
808   }
809
810   @Override /* BeanContextBuilder */
811   public XmlParserBuilder useInterfaceProxies(boolean value) {
812      super.useInterfaceProxies(value);
813      return this;
814   }
815
816   @Override /* BeanContextBuilder */
817   public XmlParserBuilder useJavaBeanIntrospector(boolean value) {
818      super.useJavaBeanIntrospector(value);
819      return this;
820   }
821
822   @Override /* BeanContextBuilder */
823   public XmlParserBuilder useJavaBeanIntrospector() {
824      super.useJavaBeanIntrospector();
825      return this;
826   }
827
828   @Override /* ContextBuilder */
829   public XmlParserBuilder set(String name, Object value) {
830      super.set(name, value);
831      return this;
832   }
833
834   @Override /* ContextBuilder */
835   public XmlParserBuilder set(Map<String,Object> properties) {
836      super.set(properties);
837      return this;
838   }
839
840   @Override /* ContextBuilder */
841   public XmlParserBuilder add(Map<String,Object> properties) {
842      super.add(properties);
843      return this;
844   }
845
846   @Override /* ContextBuilder */
847   public XmlParserBuilder addTo(String name, Object value) {
848      super.addTo(name, value);
849      return this;
850   }
851
852   @Override /* ContextBuilder */
853   public XmlParserBuilder addTo(String name, String key, Object value) {
854      super.addTo(name, key, value);
855      return this;
856   }
857
858   @Override /* ContextBuilder */
859   public XmlParserBuilder removeFrom(String name, Object value) {
860      super.removeFrom(name, value);
861      return this;
862   }
863
864   @Override /* ContextBuilder */
865   public XmlParserBuilder apply(PropertyStore copyFrom) {
866      super.apply(copyFrom);
867      return this;
868   }
869
870   @Override /* ContextBuilder */
871   public XmlParserBuilder applyAnnotations(AnnotationList al, VarResolverSession vrs) {
872      super.applyAnnotations(al, vrs);
873      return this;
874   }
875
876   @Override /* ContextBuilder */
877   public XmlParserBuilder applyAnnotations(Class<?>...fromClasses) {
878      super.applyAnnotations(fromClasses);
879      return this;
880   }
881
882   @Override /* ContextBuilder */
883   public XmlParserBuilder applyAnnotations(Method...fromMethods) {
884      super.applyAnnotations(fromMethods);
885      return this;
886   }
887}