001// *************************************************************************************************************************** 002// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file * 003// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file * 004// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance * 005// * with the License. You may obtain a copy of the License at * 006// * * 007// * http://www.apache.org/licenses/LICENSE-2.0 * 008// * * 009// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an * 010// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the * 011// * specific language governing permissions and limitations under the License. * 012// *************************************************************************************************************************** 013package org.apache.juneau.serializer; 014 015import static org.apache.juneau.serializer.OutputStreamSerializer.*; 016import static org.apache.juneau.serializer.WriterSerializer.*; 017 018import java.lang.annotation.*; 019import java.lang.reflect.*; 020import java.nio.charset.*; 021import java.util.*; 022 023import org.apache.juneau.*; 024import org.apache.juneau.collections.*; 025import org.apache.juneau.http.*; 026import org.apache.juneau.internal.*; 027import org.apache.juneau.reflect.*; 028import org.apache.juneau.svl.*; 029 030/** 031 * Builder class for creating instances of {@link SerializerGroup}. 032 */ 033public class SerializerGroupBuilder extends BeanTraverseBuilder { 034 035 private final AList<Object> serializers; 036 037 /** 038 * Create an empty serializer group builder. 039 */ 040 public SerializerGroupBuilder() { 041 this.serializers = AList.of(); 042 } 043 044 /** 045 * Clone an existing serializer group builder. 046 * 047 * @param copyFrom The serializer group that we're copying settings and serializers from. 048 */ 049 public SerializerGroupBuilder(SerializerGroup copyFrom) { 050 super(copyFrom.getPropertyStore()); 051 this.serializers = AList.of().arev(copyFrom.getSerializers()); 052 } 053 054 /** 055 * Registers the specified serializers with this group. 056 * 057 * @param s The serializers to append to this group. 058 * @return This object (for method chaining). 059 */ 060 public SerializerGroupBuilder append(Class<?>...s) { 061 serializers.arev(s); 062 return this; 063 } 064 065 /** 066 * Registers the specified serializers with this group. 067 * 068 * <p> 069 * When passing in pre-instantiated serializers to this group, applying properties and transforms to the group 070 * do not affect them. 071 * 072 * @param s The serializers to append to this group. 073 * @return This object (for method chaining). 074 */ 075 public SerializerGroupBuilder append(Serializer...s) { 076 serializers.arev(s); 077 return this; 078 } 079 080 /** 081 * Registers the specified serializers with this group. 082 * 083 * <p> 084 * Objects can either be instances of serializers or serializer classes. 085 * 086 * @param s The serializers to append to this group. 087 * @return This object (for method chaining). 088 */ 089 public SerializerGroupBuilder append(List<Object> s) { 090 serializers.arev(s); 091 return this; 092 } 093 094 /** 095 * Registers the specified serializers with this group. 096 * 097 * <p> 098 * Objects can either be instances of serializers or serializer classes. 099 * 100 * @param s The serializers to append to this group. 101 * @return This object (for method chaining). 102 */ 103 public SerializerGroupBuilder append(Object...s) { 104 serializers.arev(s); 105 return this; 106 } 107 108 /** 109 * Creates a new {@link SerializerGroup} object using a snapshot of the settings defined in this builder. 110 * 111 * <p> 112 * This method can be called multiple times to produce multiple serializer groups. 113 * 114 * @return A new {@link SerializerGroup} object. 115 */ 116 @Override /* ContextBuilder */ 117 @SuppressWarnings("unchecked") 118 public SerializerGroup build() { 119 List<Serializer> l = new ArrayList<>(); 120 for (Object s : serializers) { 121 Class<? extends Serializer> c = null; 122 PropertyStore ps = getPropertyStore(); 123 if (s instanceof Class) { 124 c = (Class<? extends Serializer>)s; 125 l.add(ContextCache.INSTANCE.create(c, ps)); 126 } else { 127 l.add((Serializer)s); 128 } 129 } 130 return new SerializerGroup(getPropertyStore(), ArrayUtils.toReverseArray(Serializer.class, l)); 131 } 132 133 //----------------------------------------------------------------------------------------------------------------- 134 // Properties 135 //----------------------------------------------------------------------------------------------------------------- 136 137 /** 138 * Configuration property: Add <js>"_type"</js> properties when needed. 139 * 140 * <div class='warn'> 141 * <b>Deprecated</b> - Use {@link #addBeanTypes()} 142 * </div> 143 */ 144 @SuppressWarnings("javadoc") 145 @FluentSetter 146 @Deprecated 147 public SerializerGroupBuilder addBeanTypes(boolean value) { 148 return set(SERIALIZER_addBeanTypes, value); 149 } 150 151 /** 152 * Configuration property: Add <js>"_type"</js> properties when needed. 153 * 154 * <p> 155 * Shortcut for calling <code>addBeanTypes(<jk>true</jk>)</code>. 156 * 157 * <ul class='seealso'> 158 * <li class='jf'>{@link Serializer#SERIALIZER_addBeanTypes} 159 * </ul> 160 * 161 * @return This object (for method chaining). 162 */ 163 @FluentSetter 164 public SerializerGroupBuilder addBeanTypes() { 165 return set(SERIALIZER_addBeanTypes, true); 166 } 167 168 /** 169 * Configuration property: Add type attribute to root nodes. 170 * 171 * <div class='warn'> 172 * <b>Deprecated</b> - Use {@link #addRootType()} 173 * </div> 174 */ 175 @SuppressWarnings("javadoc") 176 @FluentSetter 177 @Deprecated 178 public SerializerGroupBuilder addRootType(boolean value) { 179 return set(SERIALIZER_addRootType, value); 180 } 181 182 /** 183 * Configuration property: Add type attribute to root nodes. 184 * 185 * <p> 186 * Shortcut for calling <code>addRootType(<jk>true</jk>)</code>. 187 * 188 * <ul class='seealso'> 189 * <li class='jf'>{@link Serializer#SERIALIZER_addRootType} 190 * </ul> 191 * 192 * @return This object (for method chaining). 193 */ 194 @FluentSetter 195 public SerializerGroupBuilder addRootType() { 196 return set(SERIALIZER_addRootType, true); 197 } 198 199 /** 200 * Configuration property: Don't trim null bean property values. 201 * 202 * <div class='warn'> 203 * <b>Deprecated</b> - Use {@link #keepNullProperties()} 204 * </div> 205 */ 206 @SuppressWarnings("javadoc") 207 @FluentSetter 208 @Deprecated 209 public SerializerGroupBuilder keepNullProperties(boolean value) { 210 return set(SERIALIZER_keepNullProperties, value); 211 } 212 213 /** 214 * Configuration property: Don't trim null bean property values. 215 * 216 * <p> 217 * When enabled, null bean values will be serialized to the output. 218 * 219 * <ul class='seealso'> 220 * <li class='jf'>{@link Serializer#SERIALIZER_keepNullProperties} 221 * </ul> 222 * 223 * @return This object (for method chaining). 224 */ 225 @FluentSetter 226 public SerializerGroupBuilder keepNullProperties() { 227 return set(SERIALIZER_keepNullProperties, true); 228 } 229 230 /** 231 * Configuration property: Serializer listener. 232 * 233 * <p> 234 * Class used to listen for errors and warnings that occur during serialization. 235 * 236 * <ul class='seealso'> 237 * <li class='jf'>{@link Serializer#SERIALIZER_listener} 238 * </ul> 239 * 240 * @param value 241 * The new value for this property. 242 * @return This object (for method chaining). 243 */ 244 @FluentSetter 245 public SerializerGroupBuilder listener(Class<? extends SerializerListener> value) { 246 return set(SERIALIZER_listener, value); 247 } 248 249 /** 250 * Configuration property: Sort arrays and collections alphabetically. 251 * 252 * <div class='warn'> 253 * <b>Deprecated</b> - Use {@link #sortCollections()} 254 * </div> 255 */ 256 @SuppressWarnings("javadoc") 257 @FluentSetter 258 @Deprecated 259 public SerializerGroupBuilder sortCollections(boolean value) { 260 return set(SERIALIZER_sortCollections, value); 261 } 262 263 /** 264 * Configuration property: Sort arrays and collections alphabetically. 265 * 266 * <p> 267 * Shortcut for calling <code>sortCollections(<jk>true</jk>)</code>. 268 * 269 * <ul class='seealso'> 270 * <li class='jf'>{@link Serializer#SERIALIZER_sortCollections} 271 * </ul> 272 * 273 * @return This object (for method chaining). 274 */ 275 @FluentSetter 276 public SerializerGroupBuilder sortCollections() { 277 return set(SERIALIZER_sortCollections, true); 278 } 279 280 /** 281 * Configuration property: Sort maps alphabetically. 282 * 283 * <div class='warn'> 284 * <b>Deprecated</b> - Use {@link #sortMaps()} 285 * </div> 286 */ 287 @SuppressWarnings("javadoc") 288 @FluentSetter 289 @Deprecated 290 public SerializerGroupBuilder sortMaps(boolean value) { 291 return set(SERIALIZER_sortMaps, value); 292 } 293 294 /** 295 * Configuration property: Sort maps alphabetically. 296 * 297 * <p> 298 * Shortcut for calling <code>sortMaps(<jk>true</jk>)</code>. 299 * 300 * <ul class='seealso'> 301 * <li class='jf'>{@link Serializer#SERIALIZER_sortMaps} 302 * </ul> 303 * 304 * @return This object (for method chaining). 305 */ 306 @FluentSetter 307 public SerializerGroupBuilder sortMaps() { 308 return set(SERIALIZER_sortMaps, true); 309 } 310 311 /** 312 * Configuration property: Trim empty lists and arrays. 313 * 314 * <div class='warn'> 315 * <b>Deprecated</b> - Use {@link #trimEmptyCollections()} 316 * </div> 317 */ 318 @SuppressWarnings("javadoc") 319 @FluentSetter 320 @Deprecated 321 public SerializerGroupBuilder trimEmptyCollections(boolean value) { 322 return set(SERIALIZER_trimEmptyCollections, value); 323 } 324 325 /** 326 * Configuration property: Trim empty lists and arrays. 327 * 328 * <p> 329 * Shortcut for calling <code>trimEmptyCollections(<jk>true</jk>)</code>. 330 * 331 * <ul class='seealso'> 332 * <li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections} 333 * </ul> 334 * 335 * @return This object (for method chaining). 336 */ 337 @FluentSetter 338 public SerializerGroupBuilder trimEmptyCollections() { 339 return set(SERIALIZER_trimEmptyCollections, true); 340 } 341 342 /** 343 * Configuration property: Trim empty maps. 344 * 345 * <div class='warn'> 346 * <b>Deprecated</b> - Use {@link #trimEmptyMaps()} 347 * </div> 348 */ 349 @SuppressWarnings("javadoc") 350 @FluentSetter 351 @Deprecated 352 public SerializerGroupBuilder trimEmptyMaps(boolean value) { 353 return set(SERIALIZER_trimEmptyMaps, value); 354 } 355 356 /** 357 * Configuration property: Trim empty maps. 358 * 359 * <p> 360 * Shortcut for calling <code>trimEmptyMaps(<jk>true</jk>)</code>. 361 * 362 * <ul class='seealso'> 363 * <li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps} 364 * </ul> 365 * 366 * @return This object (for method chaining). 367 */ 368 @FluentSetter 369 public SerializerGroupBuilder trimEmptyMaps() { 370 return set(SERIALIZER_trimEmptyMaps, true); 371 } 372 373 /** 374 * Configuration property: Trim null bean property values. 375 * 376 * <div class='warn'> 377 * <b>Deprecated</b> - Use {@link #keepNullProperties()} 378 * </div> 379 */ 380 @SuppressWarnings("javadoc") 381 @FluentSetter 382 @Deprecated 383 public SerializerGroupBuilder trimNullProperties(boolean value) { 384 return set(SERIALIZER_trimNullProperties, value); 385 } 386 387 /** 388 * Configuration property: Trim strings. 389 * 390 * <div class='warn'> 391 * <b>Deprecated</b> - Use {@link #trimStrings()} 392 * </div> 393 */ 394 @SuppressWarnings("javadoc") 395 @FluentSetter 396 @Deprecated 397 public SerializerGroupBuilder trimStrings(boolean value) { 398 return set(SERIALIZER_trimStrings, value); 399 } 400 401 /** 402 * Configuration property: Trim strings. 403 * 404 * <p> 405 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>. 406 * 407 * <ul class='seealso'> 408 * <li class='jf'>{@link Serializer#SERIALIZER_trimStrings} 409 * </ul> 410 * 411 * @return This object (for method chaining). 412 */ 413 @FluentSetter 414 public SerializerGroupBuilder trimStrings() { 415 return set(SERIALIZER_trimStrings, true); 416 } 417 418 /** 419 * Configuration property: URI context bean. 420 * 421 * <p> 422 * Bean used for resolution of URIs to absolute or root-relative form. 423 * 424 * <ul class='seealso'> 425 * <li class='jf'>{@link Serializer#SERIALIZER_uriContext} 426 * </ul> 427 * 428 * @param value The new value for this property. 429 * @return This object (for method chaining). 430 */ 431 @FluentSetter 432 public SerializerGroupBuilder uriContext(UriContext value) { 433 return set(SERIALIZER_uriContext, value); 434 } 435 436 /** 437 * Configuration property: URI relativity. 438 * 439 * <p> 440 * Defines what relative URIs are relative to when serializing URI/URL objects. 441 * 442 * <ul class='seealso'> 443 * <li class='jf'>{@link Serializer#SERIALIZER_uriRelativity} 444 * </ul> 445 * 446 * @param value 447 * The new value for this property. 448 * <br>The default is {@link UriRelativity#RESOURCE} 449 * @return This object (for method chaining). 450 */ 451 @FluentSetter 452 public SerializerGroupBuilder uriRelativity(UriRelativity value) { 453 return set(SERIALIZER_uriRelativity, value); 454 } 455 456 /** 457 * Configuration property: URI resolution. 458 * 459 * <p> 460 * Defines the resolution level for URIs when serializing URI/URL objects. 461 * 462 * <ul class='seealso'> 463 * <li class='jf'>{@link Serializer#SERIALIZER_uriResolution} 464 * </ul> 465 * 466 * @param value 467 * The new value for this property. 468 * <br>The default is {@link UriResolution#NONE} 469 * @return This object (for method chaining). 470 */ 471 @FluentSetter 472 public SerializerGroupBuilder uriResolution(UriResolution value) { 473 return set(SERIALIZER_uriResolution, value); 474 } 475 476 //--- OutputStreamSerializer --- 477 478 /** 479 * Configuration property: Binary string format. 480 * 481 * <p> 482 * When using the {@link Serializer#serializeToString(Object)} method on stream-based serializers, this defines the format to use 483 * when converting the resulting byte array to a string. 484 * 485 * <ul class='javatree'> 486 * <li class='jf'>{@link OutputStreamSerializer#OSSERIALIZER_binaryFormat} 487 * </ul> 488 * 489 * @param value 490 * The new value for this property. 491 * <br>The default is {@link BinaryFormat#HEX}. 492 * @return This object (for method chaining). 493 */ 494 @FluentSetter 495 public SerializerGroupBuilder binaryOutputFormat(BinaryFormat value) { 496 return set(OSSERIALIZER_binaryFormat, value); 497 } 498 499 //--- WriterSerializer --- 500 501 /** 502 * Configuration property: File charset. 503 * 504 * <p> 505 * The character set to use for writing Files to the file system. 506 * 507 * <p> 508 * Used when passing in files to {@link Serializer#serialize(Object, Object)}. 509 * 510 * <ul class='seealso'> 511 * <li class='jf'>{@link WriterSerializer#WSERIALIZER_fileCharset} 512 * </ul> 513 * 514 * @param value 515 * The new value for this property. 516 * <br>The default is the system JVM setting. 517 * @return This object (for method chaining). 518 */ 519 @FluentSetter 520 public SerializerGroupBuilder fileCharset(Charset value) { 521 return set(WSERIALIZER_fileCharset, value); 522 } 523 524 /** 525 * Configuration property: Maximum indentation. 526 * 527 * <p> 528 * Specifies the maximum indentation level in the serialized document. 529 * 530 * <ul class='seealso'> 531 * <li class='jf'>{@link WriterSerializer#WSERIALIZER_maxIndent} 532 * </ul> 533 * 534 * @param value 535 * The new value for this property. 536 * <br>The default is <c>100</c>. 537 * @return This object (for method chaining). 538 */ 539 @FluentSetter 540 public SerializerGroupBuilder maxIndent(int value) { 541 return set(WSERIALIZER_maxIndent, value); 542 } 543 544 /** 545 * Configuration property: Quote character. 546 * 547 * <p> 548 * This is the character used for quoting attributes and values. 549 * 550 * <ul class='seealso'> 551 * <li class='jf'>{@link WriterSerializer#WSERIALIZER_quoteChar} 552 * </ul> 553 * 554 * @param value 555 * The new value for this property. 556 * <br>The default is <js>'"'</js>. 557 * @return This object (for method chaining). 558 */ 559 @FluentSetter 560 public SerializerGroupBuilder quoteChar(char value) { 561 return set(WSERIALIZER_quoteChar, value); 562 } 563 564 /** 565 * Configuration property: Quote character. 566 * 567 * <p> 568 * Shortcut for calling <code>quoteChar(<js>'\''</js>)</code>. 569 * 570 * <ul class='seealso'> 571 * <li class='jf'>{@link WriterSerializer#WSERIALIZER_quoteChar} 572 * </ul> 573 * 574 * @return This object (for method chaining). 575 */ 576 @FluentSetter 577 public SerializerGroupBuilder sq() { 578 return quoteChar('\''); 579 } 580 581 /** 582 * Configuration property: Output stream charset. 583 * 584 * <p> 585 * The character set to use when writing to OutputStreams. 586 * 587 * <p> 588 * Used when passing in output streams and byte arrays to {@link WriterSerializer#serialize(Object, Object)}. 589 * 590 * <ul class='seealso'> 591 * <li class='jf'>{@link WriterSerializer#WSERIALIZER_streamCharset} 592 * </ul> 593 * 594 * @param value 595 * The new value for this property. 596 * <br>The default is the system JVM setting. 597 * @return This object (for method chaining). 598 */ 599 @FluentSetter 600 public SerializerGroupBuilder streamCharset(Charset value) { 601 return set(WSERIALIZER_streamCharset, value); 602 } 603 604 /** 605 * Configuration property: Use whitespace. 606 * 607 * <div class='warn'> 608 * <b>Deprecated</b> - Use {@link #useWhitespace()} 609 * </div> 610 */ 611 @SuppressWarnings("javadoc") 612 @FluentSetter 613 @Deprecated 614 public SerializerGroupBuilder useWhitespace(boolean value) { 615 return set(WSERIALIZER_useWhitespace, value); 616 } 617 618 /** 619 * Configuration property: Use whitespace. 620 * 621 * <p> 622 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>. 623 * 624 * <ul class='seealso'> 625 * <li class='jf'>{@link WriterSerializer#WSERIALIZER_useWhitespace} 626 * </ul> 627 * @return This object (for method chaining). 628 */ 629 @FluentSetter 630 public SerializerGroupBuilder useWhitespace() { 631 return set(WSERIALIZER_useWhitespace, true); 632 } 633 634 /** 635 * Configuration property: Use whitespace. 636 * 637 * <p> 638 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>. 639 * 640 * <ul class='seealso'> 641 * <li class='jf'>{@link WriterSerializer#WSERIALIZER_useWhitespace} 642 * </ul> 643 * 644 * @return This object (for method chaining). 645 */ 646 @FluentSetter 647 public SerializerGroupBuilder ws() { 648 return useWhitespace(); 649 } 650 651 // <FluentSetters> 652 653 @Override /* GENERATED - ContextBuilder */ 654 public SerializerGroupBuilder add(Map<String,Object> properties) { 655 super.add(properties); 656 return this; 657 } 658 659 @Override /* GENERATED - ContextBuilder */ 660 public SerializerGroupBuilder addTo(String name, Object value) { 661 super.addTo(name, value); 662 return this; 663 } 664 665 @Override /* GENERATED - ContextBuilder */ 666 public SerializerGroupBuilder appendTo(String name, Object value) { 667 super.appendTo(name, value); 668 return this; 669 } 670 671 @Override /* GENERATED - ContextBuilder */ 672 public SerializerGroupBuilder apply(PropertyStore copyFrom) { 673 super.apply(copyFrom); 674 return this; 675 } 676 677 @Override /* GENERATED - ContextBuilder */ 678 public SerializerGroupBuilder applyAnnotations(java.lang.Class<?>...fromClasses) { 679 super.applyAnnotations(fromClasses); 680 return this; 681 } 682 683 @Override /* GENERATED - ContextBuilder */ 684 public SerializerGroupBuilder applyAnnotations(Method...fromMethods) { 685 super.applyAnnotations(fromMethods); 686 return this; 687 } 688 689 @Override /* GENERATED - ContextBuilder */ 690 public SerializerGroupBuilder applyAnnotations(AnnotationList al, VarResolverSession r) { 691 super.applyAnnotations(al, r); 692 return this; 693 } 694 695 @Override /* GENERATED - ContextBuilder */ 696 public SerializerGroupBuilder debug() { 697 super.debug(); 698 return this; 699 } 700 701 @Override /* GENERATED - ContextBuilder */ 702 public SerializerGroupBuilder locale(Locale value) { 703 super.locale(value); 704 return this; 705 } 706 707 @Override /* GENERATED - ContextBuilder */ 708 public SerializerGroupBuilder mediaType(MediaType value) { 709 super.mediaType(value); 710 return this; 711 } 712 713 @Override /* GENERATED - ContextBuilder */ 714 public SerializerGroupBuilder prependTo(String name, Object value) { 715 super.prependTo(name, value); 716 return this; 717 } 718 719 @Override /* GENERATED - ContextBuilder */ 720 public SerializerGroupBuilder putAllTo(String name, Object value) { 721 super.putAllTo(name, value); 722 return this; 723 } 724 725 @Override /* GENERATED - ContextBuilder */ 726 public SerializerGroupBuilder putTo(String name, String key, Object value) { 727 super.putTo(name, key, value); 728 return this; 729 } 730 731 @Override /* GENERATED - ContextBuilder */ 732 public SerializerGroupBuilder removeFrom(String name, Object value) { 733 super.removeFrom(name, value); 734 return this; 735 } 736 737 @Override /* GENERATED - ContextBuilder */ 738 public SerializerGroupBuilder set(Map<String,Object> properties) { 739 super.set(properties); 740 return this; 741 } 742 743 @Override /* GENERATED - ContextBuilder */ 744 public SerializerGroupBuilder set(String name, Object value) { 745 super.set(name, value); 746 return this; 747 } 748 749 @Override /* GENERATED - ContextBuilder */ 750 public SerializerGroupBuilder timeZone(TimeZone value) { 751 super.timeZone(value); 752 return this; 753 } 754 755 @Override /* GENERATED - BeanContextBuilder */ 756 public SerializerGroupBuilder annotations(Annotation...values) { 757 super.annotations(values); 758 return this; 759 } 760 761 @Override /* GENERATED - BeanContextBuilder */ 762 public SerializerGroupBuilder beanClassVisibility(Visibility value) { 763 super.beanClassVisibility(value); 764 return this; 765 } 766 767 @Override /* GENERATED - BeanContextBuilder */ 768 public SerializerGroupBuilder beanConstructorVisibility(Visibility value) { 769 super.beanConstructorVisibility(value); 770 return this; 771 } 772 773 @Override /* GENERATED - BeanContextBuilder */ 774 public SerializerGroupBuilder beanFieldVisibility(Visibility value) { 775 super.beanFieldVisibility(value); 776 return this; 777 } 778 779 @Override /* GENERATED - BeanContextBuilder */ 780 public SerializerGroupBuilder beanInterceptor(Class<?> on, Class<? extends org.apache.juneau.transform.BeanInterceptor<?>> value) { 781 super.beanInterceptor(on, value); 782 return this; 783 } 784 785 @Override /* GENERATED - BeanContextBuilder */ 786 public SerializerGroupBuilder beanMapPutReturnsOldValue() { 787 super.beanMapPutReturnsOldValue(); 788 return this; 789 } 790 791 @Override /* GENERATED - BeanContextBuilder */ 792 public SerializerGroupBuilder beanMethodVisibility(Visibility value) { 793 super.beanMethodVisibility(value); 794 return this; 795 } 796 797 @Override /* GENERATED - BeanContextBuilder */ 798 public SerializerGroupBuilder beansDontRequireSomeProperties() { 799 super.beansDontRequireSomeProperties(); 800 return this; 801 } 802 803 @Override /* GENERATED - BeanContextBuilder */ 804 public SerializerGroupBuilder beansRequireDefaultConstructor() { 805 super.beansRequireDefaultConstructor(); 806 return this; 807 } 808 809 @Override /* GENERATED - BeanContextBuilder */ 810 public SerializerGroupBuilder beansRequireSerializable() { 811 super.beansRequireSerializable(); 812 return this; 813 } 814 815 @Override /* GENERATED - BeanContextBuilder */ 816 public SerializerGroupBuilder beansRequireSettersForGetters() { 817 super.beansRequireSettersForGetters(); 818 return this; 819 } 820 821 @Override /* GENERATED - BeanContextBuilder */ 822 public SerializerGroupBuilder bpi(Map<String,Object> values) { 823 super.bpi(values); 824 return this; 825 } 826 827 @Override /* GENERATED - BeanContextBuilder */ 828 public SerializerGroupBuilder bpi(Class<?> beanClass, String properties) { 829 super.bpi(beanClass, properties); 830 return this; 831 } 832 833 @Override /* GENERATED - BeanContextBuilder */ 834 public SerializerGroupBuilder bpi(String beanClassName, String properties) { 835 super.bpi(beanClassName, properties); 836 return this; 837 } 838 839 @Override /* GENERATED - BeanContextBuilder */ 840 public SerializerGroupBuilder bpro(Map<String,Object> values) { 841 super.bpro(values); 842 return this; 843 } 844 845 @Override /* GENERATED - BeanContextBuilder */ 846 public SerializerGroupBuilder bpro(Class<?> beanClass, String properties) { 847 super.bpro(beanClass, properties); 848 return this; 849 } 850 851 @Override /* GENERATED - BeanContextBuilder */ 852 public SerializerGroupBuilder bpro(String beanClassName, String properties) { 853 super.bpro(beanClassName, properties); 854 return this; 855 } 856 857 @Override /* GENERATED - BeanContextBuilder */ 858 public SerializerGroupBuilder bpwo(Map<String,Object> values) { 859 super.bpwo(values); 860 return this; 861 } 862 863 @Override /* GENERATED - BeanContextBuilder */ 864 public SerializerGroupBuilder bpwo(Class<?> beanClass, String properties) { 865 super.bpwo(beanClass, properties); 866 return this; 867 } 868 869 @Override /* GENERATED - BeanContextBuilder */ 870 public SerializerGroupBuilder bpwo(String beanClassName, String properties) { 871 super.bpwo(beanClassName, properties); 872 return this; 873 } 874 875 @Override /* GENERATED - BeanContextBuilder */ 876 public SerializerGroupBuilder bpx(Map<String,Object> values) { 877 super.bpx(values); 878 return this; 879 } 880 881 @Override /* GENERATED - BeanContextBuilder */ 882 public SerializerGroupBuilder bpx(Class<?> beanClass, String properties) { 883 super.bpx(beanClass, properties); 884 return this; 885 } 886 887 @Override /* GENERATED - BeanContextBuilder */ 888 public SerializerGroupBuilder bpx(String beanClassName, String properties) { 889 super.bpx(beanClassName, properties); 890 return this; 891 } 892 893 @Override /* GENERATED - BeanContextBuilder */ 894 public SerializerGroupBuilder dictionary(Object...values) { 895 super.dictionary(values); 896 return this; 897 } 898 899 @Override /* GENERATED - BeanContextBuilder */ 900 public SerializerGroupBuilder dictionaryOn(Class<?> on, java.lang.Class<?>...values) { 901 super.dictionaryOn(on, values); 902 return this; 903 } 904 905 @Override /* GENERATED - BeanContextBuilder */ 906 public SerializerGroupBuilder dontIgnorePropertiesWithoutSetters() { 907 super.dontIgnorePropertiesWithoutSetters(); 908 return this; 909 } 910 911 @Override /* GENERATED - BeanContextBuilder */ 912 public SerializerGroupBuilder dontIgnoreTransientFields() { 913 super.dontIgnoreTransientFields(); 914 return this; 915 } 916 917 @Override /* GENERATED - BeanContextBuilder */ 918 public SerializerGroupBuilder dontIgnoreUnknownNullBeanProperties() { 919 super.dontIgnoreUnknownNullBeanProperties(); 920 return this; 921 } 922 923 @Override /* GENERATED - BeanContextBuilder */ 924 public SerializerGroupBuilder dontUseInterfaceProxies() { 925 super.dontUseInterfaceProxies(); 926 return this; 927 } 928 929 @Override /* GENERATED - BeanContextBuilder */ 930 public <T> SerializerGroupBuilder example(Class<T> pojoClass, T o) { 931 super.example(pojoClass, o); 932 return this; 933 } 934 935 @Override /* GENERATED - BeanContextBuilder */ 936 public <T> SerializerGroupBuilder exampleJson(Class<T> pojoClass, String json) { 937 super.exampleJson(pojoClass, json); 938 return this; 939 } 940 941 @Override /* GENERATED - BeanContextBuilder */ 942 public SerializerGroupBuilder fluentSetters() { 943 super.fluentSetters(); 944 return this; 945 } 946 947 @Override /* GENERATED - BeanContextBuilder */ 948 public SerializerGroupBuilder fluentSetters(Class<?> on) { 949 super.fluentSetters(on); 950 return this; 951 } 952 953 @Override /* GENERATED - BeanContextBuilder */ 954 public SerializerGroupBuilder ignoreInvocationExceptionsOnGetters() { 955 super.ignoreInvocationExceptionsOnGetters(); 956 return this; 957 } 958 959 @Override /* GENERATED - BeanContextBuilder */ 960 public SerializerGroupBuilder ignoreInvocationExceptionsOnSetters() { 961 super.ignoreInvocationExceptionsOnSetters(); 962 return this; 963 } 964 965 @Override /* GENERATED - BeanContextBuilder */ 966 public SerializerGroupBuilder ignoreUnknownBeanProperties() { 967 super.ignoreUnknownBeanProperties(); 968 return this; 969 } 970 971 @Override /* GENERATED - BeanContextBuilder */ 972 public SerializerGroupBuilder implClass(Class<?> interfaceClass, Class<?> implClass) { 973 super.implClass(interfaceClass, implClass); 974 return this; 975 } 976 977 @Override /* GENERATED - BeanContextBuilder */ 978 public SerializerGroupBuilder implClasses(Map<Class<?>,Class<?>> values) { 979 super.implClasses(values); 980 return this; 981 } 982 983 @Override /* GENERATED - BeanContextBuilder */ 984 public SerializerGroupBuilder interfaceClass(Class<?> on, Class<?> value) { 985 super.interfaceClass(on, value); 986 return this; 987 } 988 989 @Override /* GENERATED - BeanContextBuilder */ 990 public SerializerGroupBuilder interfaces(java.lang.Class<?>...value) { 991 super.interfaces(value); 992 return this; 993 } 994 995 @Override /* GENERATED - BeanContextBuilder */ 996 public SerializerGroupBuilder notBeanClasses(Object...values) { 997 super.notBeanClasses(values); 998 return this; 999 } 1000 1001 @Override /* GENERATED - BeanContextBuilder */ 1002 public SerializerGroupBuilder notBeanPackages(Object...values) { 1003 super.notBeanPackages(values); 1004 return this; 1005 } 1006 1007 @Override /* GENERATED - BeanContextBuilder */ 1008 public SerializerGroupBuilder propertyNamer(Class<? extends org.apache.juneau.PropertyNamer> value) { 1009 super.propertyNamer(value); 1010 return this; 1011 } 1012 1013 @Override /* GENERATED - BeanContextBuilder */ 1014 public SerializerGroupBuilder propertyNamer(Class<?> on, Class<? extends org.apache.juneau.PropertyNamer> value) { 1015 super.propertyNamer(on, value); 1016 return this; 1017 } 1018 1019 @Override /* GENERATED - BeanContextBuilder */ 1020 public SerializerGroupBuilder sortProperties() { 1021 super.sortProperties(); 1022 return this; 1023 } 1024 1025 @Override /* GENERATED - BeanContextBuilder */ 1026 public SerializerGroupBuilder sortProperties(java.lang.Class<?>...on) { 1027 super.sortProperties(on); 1028 return this; 1029 } 1030 1031 @Override /* GENERATED - BeanContextBuilder */ 1032 public SerializerGroupBuilder stopClass(Class<?> on, Class<?> value) { 1033 super.stopClass(on, value); 1034 return this; 1035 } 1036 1037 @Override /* GENERATED - BeanContextBuilder */ 1038 public SerializerGroupBuilder swaps(Object...values) { 1039 super.swaps(values); 1040 return this; 1041 } 1042 1043 @Override /* GENERATED - BeanContextBuilder */ 1044 public SerializerGroupBuilder typeName(Class<?> on, String value) { 1045 super.typeName(on, value); 1046 return this; 1047 } 1048 1049 @Override /* GENERATED - BeanContextBuilder */ 1050 public SerializerGroupBuilder typePropertyName(String value) { 1051 super.typePropertyName(value); 1052 return this; 1053 } 1054 1055 @Override /* GENERATED - BeanContextBuilder */ 1056 public SerializerGroupBuilder typePropertyName(Class<?> on, String value) { 1057 super.typePropertyName(on, value); 1058 return this; 1059 } 1060 1061 @Override /* GENERATED - BeanContextBuilder */ 1062 public SerializerGroupBuilder useEnumNames() { 1063 super.useEnumNames(); 1064 return this; 1065 } 1066 1067 @Override /* GENERATED - BeanContextBuilder */ 1068 public SerializerGroupBuilder useJavaBeanIntrospector() { 1069 super.useJavaBeanIntrospector(); 1070 return this; 1071 } 1072 1073 @Override /* GENERATED - BeanTraverseBuilder */ 1074 public SerializerGroupBuilder detectRecursions() { 1075 super.detectRecursions(); 1076 return this; 1077 } 1078 1079 @Override /* GENERATED - BeanTraverseBuilder */ 1080 public SerializerGroupBuilder ignoreRecursions() { 1081 super.ignoreRecursions(); 1082 return this; 1083 } 1084 1085 @Override /* GENERATED - BeanTraverseBuilder */ 1086 public SerializerGroupBuilder initialDepth(int value) { 1087 super.initialDepth(value); 1088 return this; 1089 } 1090 1091 @Override /* GENERATED - BeanTraverseBuilder */ 1092 public SerializerGroupBuilder maxDepth(int value) { 1093 super.maxDepth(value); 1094 return this; 1095 } 1096 1097 // </FluentSetters> 1098}