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.internal.*; 028import org.apache.juneau.parser.*; 029import org.apache.juneau.reflect.*; 030import org.apache.juneau.svl.*; 031 032/** 033 * Builder class for building XML parsers. 034 */ 035public class XmlParserBuilder extends ReaderParserBuilder { 036 037 /** 038 * Constructor, default settings. 039 */ 040 public XmlParserBuilder() { 041 super(); 042 } 043 044 /** 045 * Constructor. 046 * 047 * @param ps The initial configuration settings for this builder. 048 */ 049 public XmlParserBuilder(PropertyStore ps) { 050 super(ps); 051 } 052 053 @Override /* ContextBuilder */ 054 public XmlParser build() { 055 return build(XmlParser.class); 056 } 057 058 //----------------------------------------------------------------------------------------------------------------- 059 // Properties 060 //----------------------------------------------------------------------------------------------------------------- 061 062 /** 063 * <i><l>XmlParser</l> configuration property: </i> XML event allocator. 064 * 065 * <p> 066 * Associates an {@link XMLEventAllocator} with this parser. 067 * 068 * <ul class='seealso'> 069 * <li class='jf'>{@link XmlParser#XML_eventAllocator} 070 * </ul> 071 * 072 * @param value The new value for this property. 073 * @return This object (for method chaining). 074 */ 075 @FluentSetter 076 public XmlParserBuilder eventAllocator(XMLEventAllocator value) { 077 return set(XML_eventAllocator, value); 078 } 079 080 /** 081 * <i><l>XmlParser</l> configuration property: </i> XML event allocator. 082 * 083 * <p> 084 * Associates an {@link XMLEventAllocator} with this parser. 085 * 086 * <ul class='seealso'> 087 * <li class='jf'>{@link XmlParser#XML_eventAllocator} 088 * </ul> 089 * 090 * @param value The new value for this property. 091 * @return This object (for method chaining). 092 */ 093 @FluentSetter 094 public XmlParserBuilder eventAllocator(Class<? extends XMLEventAllocator> value) { 095 return set(XML_eventAllocator, value); 096 } 097 098 /** 099 * <i><l>XmlParser</l> configuration property: </i> Preserve root element during generalized parsing. 100 * 101 * <div class='warn'> 102 * <b>Deprecated</b> - Use {@link #preserveRootElement()} 103 * </div> 104 */ 105 @SuppressWarnings("javadoc") 106 @Deprecated 107 @FluentSetter 108 public XmlParserBuilder preserveRootElement(boolean value) { 109 return set(XML_preserveRootElement, value); 110 } 111 112 /** 113 * <i><l>XmlParser</l> configuration property: </i> Preserve root element during generalized parsing. 114 * 115 * <p> 116 * Shortcut for calling <code>preserveRootElement(<jk>true</jk>)</code>. 117 * 118 * <ul class='seealso'> 119 * <li class='jf'>{@link XmlParser#XML_preserveRootElement} 120 * </ul> 121 * 122 * @return This object (for method chaining). 123 */ 124 @FluentSetter 125 public XmlParserBuilder preserveRootElement() { 126 return set(XML_preserveRootElement, true); 127 } 128 129 /** 130 * <i><l>XmlParser</l> configuration property: </i> XML reporter. 131 * 132 * <p> 133 * Associates an {@link XMLReporter} with this parser. 134 * 135 * <ul class='seealso'> 136 * <li class='jf'>{@link XmlParser#XML_reporter} 137 * </ul> 138 * 139 * @param value The new value for this property. 140 * @return This object (for method chaining). 141 */ 142 @FluentSetter 143 public XmlParserBuilder reporter(XMLReporter value) { 144 return set(XML_reporter, value); 145 } 146 147 /** 148 * <i><l>XmlParser</l> configuration property: </i> XML reporter. 149 * 150 * <p> 151 * Associates an {@link XMLReporter} with this parser. 152 * 153 * <ul class='seealso'> 154 * <li class='jf'>{@link XmlParser#XML_reporter} 155 * </ul> 156 * 157 * @param value The new value for this property. 158 * @return This object (for method chaining). 159 */ 160 @FluentSetter 161 public XmlParserBuilder reporter(Class<? extends XMLReporter> value) { 162 return set(XML_reporter, value); 163 } 164 165 /** 166 * <i><l>XmlParser</l> configuration property: </i> 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 @FluentSetter 179 public XmlParserBuilder resolver(XMLResolver value) { 180 return set(XML_resolver, value); 181 } 182 183 /** 184 * <i><l>XmlParser</l> configuration property: </i> XML resolver. 185 * 186 * <p> 187 * Associates an {@link XMLResolver} with this parser. 188 * 189 * <ul class='seealso'> 190 * <li class='jf'>{@link XmlParser#XML_resolver} 191 * </ul> 192 * 193 * @param value The new value for this property. 194 * @return This object (for method chaining). 195 */ 196 @FluentSetter 197 public XmlParserBuilder resolver(Class<? extends XMLResolver> value) { 198 return set(XML_resolver, value); 199 } 200 201 /** 202 * <i><l>XmlParser</l> configuration property: </i> Enable validation. 203 * 204 * <div class='warn'> 205 * <b>Deprecated</b> - Use {@link #validating()} 206 * </div> 207 */ 208 @SuppressWarnings("javadoc") 209 @Deprecated 210 @FluentSetter 211 public XmlParserBuilder validating(boolean value) { 212 return set(XML_validating, value); 213 } 214 215 /** 216 * <i><l>XmlParser</l> configuration property: </i> Enable validation. 217 * 218 * <p> 219 * Shortcut for calling <code>validating(<jk>true</jk>)</code>. 220 * 221 * <ul class='seealso'> 222 * <li class='jf'>{@link XmlParser#XML_validating} 223 * </ul> 224 * 225 * @return This object (for method chaining). 226 */ 227 @FluentSetter 228 public XmlParserBuilder validating() { 229 return set(XML_validating, true); 230 } 231 232 // <FluentSetters> 233 234 @Override /* GENERATED - ContextBuilder */ 235 public XmlParserBuilder add(Map<String,Object> properties) { 236 super.add(properties); 237 return this; 238 } 239 240 @Override /* GENERATED - ContextBuilder */ 241 public XmlParserBuilder addTo(String name, Object value) { 242 super.addTo(name, value); 243 return this; 244 } 245 246 @Override /* GENERATED - ContextBuilder */ 247 public XmlParserBuilder appendTo(String name, Object value) { 248 super.appendTo(name, value); 249 return this; 250 } 251 252 @Override /* GENERATED - ContextBuilder */ 253 public XmlParserBuilder apply(PropertyStore copyFrom) { 254 super.apply(copyFrom); 255 return this; 256 } 257 258 @Override /* GENERATED - ContextBuilder */ 259 public XmlParserBuilder applyAnnotations(java.lang.Class<?>...fromClasses) { 260 super.applyAnnotations(fromClasses); 261 return this; 262 } 263 264 @Override /* GENERATED - ContextBuilder */ 265 public XmlParserBuilder applyAnnotations(Method...fromMethods) { 266 super.applyAnnotations(fromMethods); 267 return this; 268 } 269 270 @Override /* GENERATED - ContextBuilder */ 271 public XmlParserBuilder applyAnnotations(AnnotationList al, VarResolverSession r) { 272 super.applyAnnotations(al, r); 273 return this; 274 } 275 276 @Override /* GENERATED - ContextBuilder */ 277 public XmlParserBuilder debug() { 278 super.debug(); 279 return this; 280 } 281 282 @Override /* GENERATED - ContextBuilder */ 283 public XmlParserBuilder locale(Locale value) { 284 super.locale(value); 285 return this; 286 } 287 288 @Override /* GENERATED - ContextBuilder */ 289 public XmlParserBuilder mediaType(MediaType value) { 290 super.mediaType(value); 291 return this; 292 } 293 294 @Override /* GENERATED - ContextBuilder */ 295 public XmlParserBuilder prependTo(String name, Object value) { 296 super.prependTo(name, value); 297 return this; 298 } 299 300 @Override /* GENERATED - ContextBuilder */ 301 public XmlParserBuilder putAllTo(String name, Object value) { 302 super.putAllTo(name, value); 303 return this; 304 } 305 306 @Override /* GENERATED - ContextBuilder */ 307 public XmlParserBuilder putTo(String name, String key, Object value) { 308 super.putTo(name, key, value); 309 return this; 310 } 311 312 @Override /* GENERATED - ContextBuilder */ 313 public XmlParserBuilder removeFrom(String name, Object value) { 314 super.removeFrom(name, value); 315 return this; 316 } 317 318 @Override /* GENERATED - ContextBuilder */ 319 public XmlParserBuilder set(Map<String,Object> properties) { 320 super.set(properties); 321 return this; 322 } 323 324 @Override /* GENERATED - ContextBuilder */ 325 public XmlParserBuilder set(String name, Object value) { 326 super.set(name, value); 327 return this; 328 } 329 330 @Override /* GENERATED - ContextBuilder */ 331 public XmlParserBuilder timeZone(TimeZone value) { 332 super.timeZone(value); 333 return this; 334 } 335 336 @Override /* GENERATED - BeanContextBuilder */ 337 public XmlParserBuilder annotations(Annotation...values) { 338 super.annotations(values); 339 return this; 340 } 341 342 @Override /* GENERATED - BeanContextBuilder */ 343 public XmlParserBuilder beanClassVisibility(Visibility value) { 344 super.beanClassVisibility(value); 345 return this; 346 } 347 348 @Override /* GENERATED - BeanContextBuilder */ 349 public XmlParserBuilder beanConstructorVisibility(Visibility value) { 350 super.beanConstructorVisibility(value); 351 return this; 352 } 353 354 @Override /* GENERATED - BeanContextBuilder */ 355 public XmlParserBuilder beanFieldVisibility(Visibility value) { 356 super.beanFieldVisibility(value); 357 return this; 358 } 359 360 @Override /* GENERATED - BeanContextBuilder */ 361 public XmlParserBuilder beanInterceptor(Class<?> on, Class<? extends org.apache.juneau.transform.BeanInterceptor<?>> value) { 362 super.beanInterceptor(on, value); 363 return this; 364 } 365 366 @Override /* GENERATED - BeanContextBuilder */ 367 public XmlParserBuilder beanMapPutReturnsOldValue() { 368 super.beanMapPutReturnsOldValue(); 369 return this; 370 } 371 372 @Override /* GENERATED - BeanContextBuilder */ 373 public XmlParserBuilder beanMethodVisibility(Visibility value) { 374 super.beanMethodVisibility(value); 375 return this; 376 } 377 378 @Override /* GENERATED - BeanContextBuilder */ 379 public XmlParserBuilder beansDontRequireSomeProperties() { 380 super.beansDontRequireSomeProperties(); 381 return this; 382 } 383 384 @Override /* GENERATED - BeanContextBuilder */ 385 public XmlParserBuilder beansRequireDefaultConstructor() { 386 super.beansRequireDefaultConstructor(); 387 return this; 388 } 389 390 @Override /* GENERATED - BeanContextBuilder */ 391 public XmlParserBuilder beansRequireSerializable() { 392 super.beansRequireSerializable(); 393 return this; 394 } 395 396 @Override /* GENERATED - BeanContextBuilder */ 397 public XmlParserBuilder beansRequireSettersForGetters() { 398 super.beansRequireSettersForGetters(); 399 return this; 400 } 401 402 @Override /* GENERATED - BeanContextBuilder */ 403 public XmlParserBuilder bpi(Map<String,Object> values) { 404 super.bpi(values); 405 return this; 406 } 407 408 @Override /* GENERATED - BeanContextBuilder */ 409 public XmlParserBuilder bpi(Class<?> beanClass, String properties) { 410 super.bpi(beanClass, properties); 411 return this; 412 } 413 414 @Override /* GENERATED - BeanContextBuilder */ 415 public XmlParserBuilder bpi(String beanClassName, String properties) { 416 super.bpi(beanClassName, properties); 417 return this; 418 } 419 420 @Override /* GENERATED - BeanContextBuilder */ 421 public XmlParserBuilder bpro(Map<String,Object> values) { 422 super.bpro(values); 423 return this; 424 } 425 426 @Override /* GENERATED - BeanContextBuilder */ 427 public XmlParserBuilder bpro(Class<?> beanClass, String properties) { 428 super.bpro(beanClass, properties); 429 return this; 430 } 431 432 @Override /* GENERATED - BeanContextBuilder */ 433 public XmlParserBuilder bpro(String beanClassName, String properties) { 434 super.bpro(beanClassName, properties); 435 return this; 436 } 437 438 @Override /* GENERATED - BeanContextBuilder */ 439 public XmlParserBuilder bpwo(Map<String,Object> values) { 440 super.bpwo(values); 441 return this; 442 } 443 444 @Override /* GENERATED - BeanContextBuilder */ 445 public XmlParserBuilder bpwo(Class<?> beanClass, String properties) { 446 super.bpwo(beanClass, properties); 447 return this; 448 } 449 450 @Override /* GENERATED - BeanContextBuilder */ 451 public XmlParserBuilder bpwo(String beanClassName, String properties) { 452 super.bpwo(beanClassName, properties); 453 return this; 454 } 455 456 @Override /* GENERATED - BeanContextBuilder */ 457 public XmlParserBuilder bpx(Map<String,Object> values) { 458 super.bpx(values); 459 return this; 460 } 461 462 @Override /* GENERATED - BeanContextBuilder */ 463 public XmlParserBuilder bpx(Class<?> beanClass, String properties) { 464 super.bpx(beanClass, properties); 465 return this; 466 } 467 468 @Override /* GENERATED - BeanContextBuilder */ 469 public XmlParserBuilder bpx(String beanClassName, String properties) { 470 super.bpx(beanClassName, properties); 471 return this; 472 } 473 474 @Override /* GENERATED - BeanContextBuilder */ 475 public XmlParserBuilder dictionary(Object...values) { 476 super.dictionary(values); 477 return this; 478 } 479 480 @Override /* GENERATED - BeanContextBuilder */ 481 public XmlParserBuilder dictionaryOn(Class<?> on, java.lang.Class<?>...values) { 482 super.dictionaryOn(on, values); 483 return this; 484 } 485 486 @Override /* GENERATED - BeanContextBuilder */ 487 public XmlParserBuilder dontIgnorePropertiesWithoutSetters() { 488 super.dontIgnorePropertiesWithoutSetters(); 489 return this; 490 } 491 492 @Override /* GENERATED - BeanContextBuilder */ 493 public XmlParserBuilder dontIgnoreTransientFields() { 494 super.dontIgnoreTransientFields(); 495 return this; 496 } 497 498 @Override /* GENERATED - BeanContextBuilder */ 499 public XmlParserBuilder dontIgnoreUnknownNullBeanProperties() { 500 super.dontIgnoreUnknownNullBeanProperties(); 501 return this; 502 } 503 504 @Override /* GENERATED - BeanContextBuilder */ 505 public XmlParserBuilder dontUseInterfaceProxies() { 506 super.dontUseInterfaceProxies(); 507 return this; 508 } 509 510 @Override /* GENERATED - BeanContextBuilder */ 511 public <T> XmlParserBuilder example(Class<T> pojoClass, T o) { 512 super.example(pojoClass, o); 513 return this; 514 } 515 516 @Override /* GENERATED - BeanContextBuilder */ 517 public <T> XmlParserBuilder exampleJson(Class<T> pojoClass, String json) { 518 super.exampleJson(pojoClass, json); 519 return this; 520 } 521 522 @Override /* GENERATED - BeanContextBuilder */ 523 public XmlParserBuilder fluentSetters() { 524 super.fluentSetters(); 525 return this; 526 } 527 528 @Override /* GENERATED - BeanContextBuilder */ 529 public XmlParserBuilder fluentSetters(Class<?> on) { 530 super.fluentSetters(on); 531 return this; 532 } 533 534 @Override /* GENERATED - BeanContextBuilder */ 535 public XmlParserBuilder ignoreInvocationExceptionsOnGetters() { 536 super.ignoreInvocationExceptionsOnGetters(); 537 return this; 538 } 539 540 @Override /* GENERATED - BeanContextBuilder */ 541 public XmlParserBuilder ignoreInvocationExceptionsOnSetters() { 542 super.ignoreInvocationExceptionsOnSetters(); 543 return this; 544 } 545 546 @Override /* GENERATED - BeanContextBuilder */ 547 public XmlParserBuilder ignoreUnknownBeanProperties() { 548 super.ignoreUnknownBeanProperties(); 549 return this; 550 } 551 552 @Override /* GENERATED - BeanContextBuilder */ 553 public XmlParserBuilder implClass(Class<?> interfaceClass, Class<?> implClass) { 554 super.implClass(interfaceClass, implClass); 555 return this; 556 } 557 558 @Override /* GENERATED - BeanContextBuilder */ 559 public XmlParserBuilder implClasses(Map<Class<?>,Class<?>> values) { 560 super.implClasses(values); 561 return this; 562 } 563 564 @Override /* GENERATED - BeanContextBuilder */ 565 public XmlParserBuilder interfaceClass(Class<?> on, Class<?> value) { 566 super.interfaceClass(on, value); 567 return this; 568 } 569 570 @Override /* GENERATED - BeanContextBuilder */ 571 public XmlParserBuilder interfaces(java.lang.Class<?>...value) { 572 super.interfaces(value); 573 return this; 574 } 575 576 @Override /* GENERATED - BeanContextBuilder */ 577 public XmlParserBuilder notBeanClasses(Object...values) { 578 super.notBeanClasses(values); 579 return this; 580 } 581 582 @Override /* GENERATED - BeanContextBuilder */ 583 public XmlParserBuilder notBeanPackages(Object...values) { 584 super.notBeanPackages(values); 585 return this; 586 } 587 588 @Override /* GENERATED - BeanContextBuilder */ 589 public XmlParserBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) { 590 super.propertyNamer(value); 591 return this; 592 } 593 594 @Override /* GENERATED - BeanContextBuilder */ 595 public XmlParserBuilder propertyNamer(Class<?> on, Class<? extends org.apache.juneau.PropertyNamer> value) { 596 super.propertyNamer(on, value); 597 return this; 598 } 599 600 @Override /* GENERATED - BeanContextBuilder */ 601 public XmlParserBuilder sortProperties() { 602 super.sortProperties(); 603 return this; 604 } 605 606 @Override /* GENERATED - BeanContextBuilder */ 607 public XmlParserBuilder sortProperties(java.lang.Class<?>...on) { 608 super.sortProperties(on); 609 return this; 610 } 611 612 @Override /* GENERATED - BeanContextBuilder */ 613 public XmlParserBuilder stopClass(Class<?> on, Class<?> value) { 614 super.stopClass(on, value); 615 return this; 616 } 617 618 @Override /* GENERATED - BeanContextBuilder */ 619 public XmlParserBuilder swaps(Object...values) { 620 super.swaps(values); 621 return this; 622 } 623 624 @Override /* GENERATED - BeanContextBuilder */ 625 public XmlParserBuilder typeName(Class<?> on, String value) { 626 super.typeName(on, value); 627 return this; 628 } 629 630 @Override /* GENERATED - BeanContextBuilder */ 631 public XmlParserBuilder typePropertyName(String value) { 632 super.typePropertyName(value); 633 return this; 634 } 635 636 @Override /* GENERATED - BeanContextBuilder */ 637 public XmlParserBuilder typePropertyName(Class<?> on, String value) { 638 super.typePropertyName(on, value); 639 return this; 640 } 641 642 @Override /* GENERATED - BeanContextBuilder */ 643 public XmlParserBuilder useEnumNames() { 644 super.useEnumNames(); 645 return this; 646 } 647 648 @Override /* GENERATED - BeanContextBuilder */ 649 public XmlParserBuilder useJavaBeanIntrospector() { 650 super.useJavaBeanIntrospector(); 651 return this; 652 } 653 654 @Override /* GENERATED - ParserBuilder */ 655 public XmlParserBuilder autoCloseStreams() { 656 super.autoCloseStreams(); 657 return this; 658 } 659 660 @Override /* GENERATED - ParserBuilder */ 661 public XmlParserBuilder debugOutputLines(int value) { 662 super.debugOutputLines(value); 663 return this; 664 } 665 666 @Override /* GENERATED - ParserBuilder */ 667 public XmlParserBuilder listener(Class<? extends org.apache.juneau.parser.ParserListener> value) { 668 super.listener(value); 669 return this; 670 } 671 672 @Override /* GENERATED - ParserBuilder */ 673 public XmlParserBuilder strict() { 674 super.strict(); 675 return this; 676 } 677 678 @Override /* GENERATED - ParserBuilder */ 679 public XmlParserBuilder trimStrings() { 680 super.trimStrings(); 681 return this; 682 } 683 684 @Override /* GENERATED - ParserBuilder */ 685 public XmlParserBuilder unbuffered() { 686 super.unbuffered(); 687 return this; 688 } 689 690 @Override /* GENERATED - ReaderParserBuilder */ 691 public XmlParserBuilder fileCharset(Charset value) { 692 super.fileCharset(value); 693 return this; 694 } 695 696 @Override /* GENERATED - ReaderParserBuilder */ 697 public XmlParserBuilder streamCharset(Charset value) { 698 super.streamCharset(value); 699 return this; 700 } 701 702 // </FluentSetters> 703}