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.Serializer.*; 016 017import java.util.*; 018 019import org.apache.juneau.*; 020import org.apache.juneau.http.*; 021 022/** 023 * Builder class for building instances of serializers. 024 */ 025public class SerializerBuilder extends BeanContextBuilder { 026 027 /** 028 * Constructor, default settings. 029 */ 030 public SerializerBuilder() { 031 super(); 032 } 033 034 /** 035 * Constructor. 036 * 037 * @param ps The initial configuration settings for this builder. 038 */ 039 public SerializerBuilder(PropertyStore ps) { 040 super(ps); 041 } 042 043 044 //-------------------------------------------------------------------------------- 045 // Properties 046 //-------------------------------------------------------------------------------- 047 048 /** 049 * Configuration property: Abridged output. 050 * 051 * <p> 052 * When enabled, it is assumed that the parser knows the exact Java POJO type being parsed, and therefore top-level 053 * type information that might normally be included to determine the data type will not be serialized. 054 * 055 * <h5 class='section'>See Also:</h5> 056 * <ul> 057 * <li class='jf'>{@link Serializer#SERIALIZER_abridged} 058 * </ul> 059 * 060 * @param value 061 * The new value for this property. 062 * <br>The default is <jk>false</jk>. 063 * @return This object (for method chaining). 064 */ 065 public SerializerBuilder abridged(boolean value) { 066 return set(SERIALIZER_abridged, value); 067 } 068 069 /** 070 * Configuration property: Abridged output. 071 * 072 * <p> 073 * Shortcut for calling <code>abridged(<jk>true</jk>)</code>. 074 * 075 * <h5 class='section'>See Also:</h5> 076 * <ul> 077 * <li class='jf'>{@link Serializer#SERIALIZER_abridged} 078 * </ul> 079 * 080 * @return This object (for method chaining). 081 */ 082 public SerializerBuilder abridged() { 083 return set(SERIALIZER_abridged, true); 084 } 085 086 /** 087 * Configuration property: Add <js>"_type"</js> properties when needed. 088 * 089 * <p> 090 * If <jk>true</jk>, then <js>"_type"</js> properties will be added to beans if their type cannot be inferred 091 * through reflection. 092 * 093 * <h5 class='section'>See Also:</h5> 094 * <ul> 095 * <li class='jf'>{@link Serializer#SERIALIZER_addBeanTypeProperties} 096 * </ul> 097 * 098 * @param value 099 * The new value for this property. 100 * <br>The default is <jk>true</jk>. 101 * @return This object (for method chaining). 102 */ 103 public SerializerBuilder addBeanTypeProperties(boolean value) { 104 return set(SERIALIZER_addBeanTypeProperties, value); 105 } 106 107 /** 108 * Configuration property: Automatically detect POJO recursions. 109 * 110 * <p> 111 * Specifies that recursions should be checked for during serialization. 112 * 113 * <h5 class='section'>Notes:</h5> 114 * <ul class='spaced-list'> 115 * <li> 116 * Checking for recursion can cause a small performance penalty. 117 * </ul> 118 * 119 * <h5 class='section'>See Also:</h5> 120 * <ul> 121 * <li class='jf'>{@link Serializer#SERIALIZER_detectRecursions} 122 * </ul> 123 * 124 * @param value 125 * The new value for this property. 126 * <br>The default is <jk>false</jk>. 127 * @return This object (for method chaining). 128 */ 129 public SerializerBuilder detectRecursions(boolean value) { 130 return set(SERIALIZER_detectRecursions, value); 131 } 132 133 /** 134 * Configuration property: Automatically detect POJO recursions. 135 * 136 * <p> 137 * Shortcut for calling <code>detectRecursions(<jk>true</jk>)</code>. 138 * 139 * <h5 class='section'>See Also:</h5> 140 * <ul> 141 * <li class='jf'>{@link Serializer#SERIALIZER_detectRecursions} 142 * </ul> 143 * 144 * @return This object (for method chaining). 145 */ 146 public SerializerBuilder detectRecursions() { 147 return set(SERIALIZER_detectRecursions, true); 148 } 149 150 /** 151 * Configuration property: Ignore recursion errors. 152 * 153 * <p> 154 * If <jk>true</jk>, when we encounter the same object when serializing a tree, we set the value to <jk>null</jk>. 155 * Otherwise, an exception is thrown. 156 * 157 * <h5 class='section'>Notes:</h5> 158 * <ul class='spaced-list'> 159 * <li> 160 * Checking for recursion can cause a small performance penalty. 161 * </ul> 162 * 163 * <h5 class='section'>See Also:</h5> 164 * <ul> 165 * <li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions} 166 * </ul> 167 * 168 * @param value 169 * The new value for this property. 170 * <br>The default is <jk>false</jk>. 171 * @return This object (for method chaining). 172 */ 173 public SerializerBuilder ignoreRecursions(boolean value) { 174 return set(SERIALIZER_ignoreRecursions, value); 175 } 176 177 /** 178 * Configuration property: Ignore recursion errors. 179 * 180 * <p> 181 * Shortcut for calling <code>ignoreRecursions(<jk>true</jk>)</code>. 182 * 183 * <h5 class='section'>See Also:</h5> 184 * <ul> 185 * <li class='jf'>{@link Serializer#SERIALIZER_ignoreRecursions} 186 * </ul> 187 * 188 * @return This object (for method chaining). 189 */ 190 public SerializerBuilder ignoreRecursions() { 191 return set(SERIALIZER_ignoreRecursions, true); 192 } 193 194 /** 195 * Configuration property: Initial depth. 196 * 197 * <p> 198 * The initial indentation level at the root. 199 * 200 * <h5 class='section'>See Also:</h5> 201 * <ul> 202 * <li class='jf'>{@link Serializer#SERIALIZER_initialDepth} 203 * </ul> 204 * 205 * @param value 206 * The new value for this property. 207 * <br>The default is <code>0</code>. 208 * @return This object (for method chaining). 209 */ 210 public SerializerBuilder initialDepth(int value) { 211 return set(SERIALIZER_initialDepth, value); 212 } 213 214 /** 215 * Configuration property: Serializer listener. 216 * 217 * <p> 218 * Class used to listen for errors and warnings that occur during serialization. 219 * 220 * <h5 class='section'>See Also:</h5> 221 * <ul> 222 * <li class='jf'>{@link Serializer#SERIALIZER_listener} 223 * </ul> 224 * 225 * @param value 226 * The new value for this property. 227 * @return This object (for method chaining). 228 */ 229 public SerializerBuilder listener(Class<? extends SerializerListener> value) { 230 return set(SERIALIZER_listener, value); 231 } 232 233 /** 234 * Configuration property: Max serialization depth. 235 * 236 * <p> 237 * Abort serialization if specified depth is reached in the POJO tree. 238 * <br>If this depth is exceeded, an exception is thrown. 239 * <br>This prevents stack overflows from occurring when trying to serialize models with recursive references. 240 * 241 * <h5 class='section'>See Also:</h5> 242 * <ul> 243 * <li class='jf'>{@link Serializer#SERIALIZER_maxDepth} 244 * </ul> 245 * 246 * @param value 247 * The new value for this property. 248 * <br>The default is <code>100</code>. 249 * @return This object (for method chaining). 250 */ 251 public SerializerBuilder maxDepth(int value) { 252 return set(SERIALIZER_maxDepth, value); 253 } 254 255 /** 256 * Configuration property: Maximum indentation. 257 * 258 * <p> 259 * Specifies the maximum indentation level in the serialized document. 260 * 261 * <h5 class='section'>See Also:</h5> 262 * <ul> 263 * <li class='jf'>{@link Serializer#SERIALIZER_maxIndent} 264 * </ul> 265 * 266 * @param value 267 * The new value for this property. 268 * <br>The default is <code>100</code>. 269 * @return This object (for method chaining). 270 */ 271 public SerializerBuilder maxIndent(int value) { 272 return set(SERIALIZER_maxIndent, value); 273 } 274 275 /** 276 * Configuration property: Quote character. 277 * 278 * <p> 279 * This is the character used for quoting attributes and values. 280 * 281 * <h5 class='section'>See Also:</h5> 282 * <ul> 283 * <li class='jf'>{@link Serializer#SERIALIZER_quoteChar} 284 * </ul> 285 * 286 * @param value 287 * The new value for this property. 288 * <br>The default is <js>'"'</js>. 289 * @return This object (for method chaining). 290 */ 291 public SerializerBuilder quoteChar(char value) { 292 return set(SERIALIZER_quoteChar, value); 293 } 294 295 /** 296 * Configuration property: Sort arrays and collections alphabetically. 297 * 298 * <p> 299 * Copies and sorts the contents of arrays and collections before serializing them. 300 * 301 * <h5 class='section'>See Also:</h5> 302 * <ul> 303 * <li class='jf'>{@link Serializer#SERIALIZER_sortCollections} 304 * </ul> 305 * 306 * @param value 307 * The new value for this property. 308 * <br>The default is <jk>false</jk>. 309 * @return This object (for method chaining). 310 */ 311 public SerializerBuilder sortCollections(boolean value) { 312 return set(SERIALIZER_sortCollections, value); 313 } 314 315 /** 316 * Configuration property: Sort arrays and collections alphabetically. 317 * 318 * <p> 319 * Shortcut for calling <code>sortCollections(<jk>true</jk>)</code>. 320 * 321 * <h5 class='section'>See Also:</h5> 322 * <ul> 323 * <li class='jf'>{@link Serializer#SERIALIZER_sortCollections} 324 * </ul> 325 * 326 * @return This object (for method chaining). 327 */ 328 public SerializerBuilder sortCollections() { 329 return set(SERIALIZER_sortCollections, true); 330 } 331 332 /** 333 * Configuration property: Sort maps alphabetically. 334 * 335 * <p> 336 * Copies and sorts the contents of maps before serializing them. 337 * 338 * <h5 class='section'>See Also:</h5> 339 * <ul> 340 * <li class='jf'>{@link Serializer#SERIALIZER_sortMaps} 341 * </ul> 342 * 343 * @param value 344 * The new value for this property. 345 * <br>The default is <jk>false</jk>. 346 * @return This object (for method chaining). 347 */ 348 public SerializerBuilder sortMaps(boolean value) { 349 return set(SERIALIZER_sortMaps, value); 350 } 351 352 /** 353 * Configuration property: Sort maps alphabetically. 354 * 355 * <p> 356 * Shortcut for calling <code>sortMaps(<jk>true</jk>)</code>. 357 * 358 * <h5 class='section'>See Also:</h5> 359 * <ul> 360 * <li class='jf'>{@link Serializer#SERIALIZER_sortMaps} 361 * </ul> 362 * 363 * @return This object (for method chaining). 364 */ 365 public SerializerBuilder sortMaps() { 366 return set(SERIALIZER_sortMaps, true); 367 } 368 369 /** 370 * Configuration property: Quote character. 371 * 372 * <p> 373 * Shortcut for calling <code>quoteChar(<js>'\''</js>)</code>. 374 * 375 * <h5 class='section'>See Also:</h5> 376 * <ul> 377 * <li class='jf'>{@link Serializer#SERIALIZER_quoteChar} 378 * </ul> 379 * 380 * @return This object (for method chaining). 381 */ 382 public SerializerBuilder sq() { 383 return quoteChar('\''); 384 } 385 386 /** 387 * Configuration property: Trim empty lists and arrays. 388 * 389 * <p> 390 * If <jk>true</jk>, empty list values will not be serialized to the output. 391 * 392 * <h5 class='section'>See Also:</h5> 393 * <ul> 394 * <li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections} 395 * </ul> 396 * 397 * @param value 398 * The new value for this property. 399 * <br>The default is <jk>false</jk>. 400 * @return This object (for method chaining). 401 */ 402 public SerializerBuilder trimEmptyCollections(boolean value) { 403 return set(SERIALIZER_trimEmptyCollections, value); 404 } 405 406 /** 407 * Configuration property: Trim empty lists and arrays. 408 * 409 * <p> 410 * Shortcut for calling <code>trimEmptyCollections(<jk>true</jk>)</code>. 411 * 412 * <h5 class='section'>See Also:</h5> 413 * <ul> 414 * <li class='jf'>{@link Serializer#SERIALIZER_trimEmptyCollections} 415 * </ul> 416 * 417 * @return This object (for method chaining). 418 */ 419 public SerializerBuilder trimEmptyCollections() { 420 return set(SERIALIZER_trimEmptyCollections, true); 421 } 422 423 /** 424 * Configuration property: Trim empty maps. 425 * 426 * <p> 427 * If <jk>true</jk>, empty map values will not be serialized to the output. 428 * 429 * <h5 class='section'>See Also:</h5> 430 * <ul> 431 * <li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps} 432 * </ul> 433 * 434 * @param value 435 * The new value for this property. 436 * <br>The default is <jk>false</jk>. 437 * @return This object (for method chaining). 438 */ 439 public SerializerBuilder trimEmptyMaps(boolean value) { 440 return set(SERIALIZER_trimEmptyMaps, value); 441 } 442 443 /** 444 * Configuration property: Trim empty maps. 445 * 446 * <p> 447 * Shortcut for calling <code>trimEmptyMaps(<jk>true</jk>)</code>. 448 * 449 * <h5 class='section'>See Also:</h5> 450 * <ul> 451 * <li class='jf'>{@link Serializer#SERIALIZER_trimEmptyMaps} 452 * </ul> 453 * 454 * @return This object (for method chaining). 455 */ 456 public SerializerBuilder trimEmptyMaps() { 457 return set(SERIALIZER_trimEmptyMaps, true); 458 } 459 460 /** 461 * Configuration property: Trim null bean property values. 462 * 463 * <p> 464 * If <jk>true</jk>, null bean values will not be serialized to the output. 465 * 466 * <h5 class='section'>See Also:</h5> 467 * <ul> 468 * <li class='jf'>{@link Serializer#SERIALIZER_trimNullProperties} 469 * </ul> 470 * 471 * @param value 472 * The new value for this property. 473 * <br>The default is <jk>true</jk>. 474 * @return This object (for method chaining). 475 */ 476 public SerializerBuilder trimNullProperties(boolean value) { 477 return set(SERIALIZER_trimNullProperties, value); 478 } 479 480 /** 481 * Configuration property: Trim strings. 482 * 483 * <p> 484 * If <jk>true</jk>, string values will be trimmed of whitespace using {@link String#trim()} before being serialized. 485 * 486 * <h5 class='section'>See Also:</h5> 487 * <ul> 488 * <li class='jf'>{@link Serializer#SERIALIZER_trimStrings} 489 * </ul> 490 * 491 * @param value 492 * The new value for this property. 493 * <br>The default is <jk>false</jk>. 494 * @return This object (for method chaining). 495 */ 496 public SerializerBuilder trimStrings(boolean value) { 497 return set(SERIALIZER_trimStrings, value); 498 } 499 500 /** 501 * Configuration property: Trim strings. 502 * 503 * <p> 504 * Shortcut for calling <code>trimStrings(<jk>true</jk>)</code>. 505 * 506 * <h5 class='section'>See Also:</h5> 507 * <ul> 508 * <li class='jf'>{@link Serializer#SERIALIZER_trimStrings} 509 * </ul> 510 * 511 * @return This object (for method chaining). 512 */ 513 public SerializerBuilder trimStrings() { 514 return set(SERIALIZER_trimStrings, true); 515 } 516 517 /** 518 * Configuration property: URI context bean. 519 * 520 * <p> 521 * Bean used for resolution of URIs to absolute or root-relative form. 522 * 523 * <h5 class='section'>See Also:</h5> 524 * <ul> 525 * <li class='jf'>{@link Serializer#SERIALIZER_uriContext} 526 * </ul> 527 * 528 * @param value The new value for this property. 529 * @return This object (for method chaining). 530 */ 531 public SerializerBuilder uriContext(UriContext value) { 532 return set(SERIALIZER_uriContext, value); 533 } 534 535 /** 536 * Configuration property: URI context bean. 537 * 538 * <p> 539 * Same as {@link #uriContext(UriContext)} but allows you to pass in a JSON string. 540 * 541 * <h5 class='section'>Example:</h5> 542 * <p class='bcode'> 543 * WriterSerializer s = JsonSerializer 544 * .<jsm>create</jsm>() 545 * .uriContext(<js>"{authority:'http://localhost:10000',contextRoot:'/myContext',servletPath:'/myServlet',pathInfo:'/foo'}"</js>) 546 * .build(); 547 * </p> 548 * 549 * <h5 class='section'>See Also:</h5> 550 * <ul> 551 * <li class='jf'>{@link Serializer#SERIALIZER_uriContext} 552 * </ul> 553 * 554 * @param value The new value for this property. 555 * @return This object (for method chaining). 556 */ 557 public SerializerBuilder uriContext(String value) { 558 return set(SERIALIZER_uriContext, value); 559 } 560 561 /** 562 * Configuration property: URI relativity. 563 * 564 * <p> 565 * Defines what relative URIs are relative to when serializing URI/URL objects. 566 * 567 * <h5 class='section'>See Also:</h5> 568 * <ul> 569 * <li class='jf'>{@link Serializer#SERIALIZER_uriRelativity} 570 * </ul> 571 * 572 * @param value 573 * The new value for this property. 574 * <br>The default is {@link UriRelativity#RESOURCE} 575 * @return This object (for method chaining). 576 */ 577 public SerializerBuilder uriRelativity(UriRelativity value) { 578 return set(SERIALIZER_uriRelativity, value); 579 } 580 581 /** 582 * Configuration property: URI relativity. 583 * 584 * <p> 585 * Same as {@link #uriRelativity(UriRelativity)} but allows you to pass in a string. 586 * 587 * <h5 class='section'>Example:</h5> 588 * <p class='bcode'> 589 * WriterSerializer s = JsonSerializer 590 * .<jsm>create</jsm>() 591 * .uriRelativity(<js>"PATH_INFO"</js>) 592 * .build(); 593 * </p> 594 * 595 * <h5 class='section'>See Also:</h5> 596 * <ul> 597 * <li class='jf'>{@link Serializer#SERIALIZER_uriRelativity} 598 * </ul> 599 * 600 * @param value 601 * The new value for this property. 602 * <br>The default is {@link UriRelativity#RESOURCE} 603 * @return This object (for method chaining). 604 */ 605 public SerializerBuilder uriRelativity(String value) { 606 return set(SERIALIZER_uriRelativity, value); 607 } 608 609 /** 610 * Configuration property: URI resolution. 611 * 612 * <p> 613 * Defines the resolution level for URIs when serializing URI/URL objects. 614 * 615 * <h5 class='section'>See Also:</h5> 616 * <ul> 617 * <li class='jf'>{@link Serializer#SERIALIZER_uriResolution} 618 * </ul> 619 * 620 * @param value 621 * The new value for this property. 622 * <br>The default is {@link UriResolution#NONE} 623 * @return This object (for method chaining). 624 */ 625 public SerializerBuilder uriResolution(UriResolution value) { 626 return set(SERIALIZER_uriResolution, value); 627 } 628 629 /** 630 * Configuration property: URI resolution. 631 * 632 * <p> 633 * Same as {@link #uriResolution(UriResolution)} but allows you to pass in a string. 634 * 635 * <h5 class='section'>Example:</h5> 636 * <p class='bcode'> 637 * WriterSerializer s = JsonSerializer 638 * .<jsm>create</jsm>() 639 * .uriResolution(<js>"ROOT_RELATIVE"</js>) 640 * .build(); 641 * </p> 642 * 643 * <h5 class='section'>See Also:</h5> 644 * <ul> 645 * <li class='jf'>{@link Serializer#SERIALIZER_uriResolution} 646 * </ul> 647 * 648 * @param value 649 * The new value for this property. 650 * <br>The default is {@link UriResolution#NONE} 651 * @return This object (for method chaining). 652 */ 653 public SerializerBuilder uriResolution(String value) { 654 return set(SERIALIZER_uriResolution, value); 655 } 656 657 /** 658 * Configuration property: Use whitespace. 659 * 660 * <p> 661 * If <jk>true</jk>, newlines and indentation and spaces are added to the output to improve readability. 662 * 663 * <h5 class='section'>See Also:</h5> 664 * <ul> 665 * <li class='jf'>{@link Serializer#SERIALIZER_useWhitespace} 666 * </ul> 667 * 668 * @param value 669 * The new value for this property. 670 * <br>The default is <jk>false</jk>. 671 * @return This object (for method chaining). 672 */ 673 public SerializerBuilder useWhitespace(boolean value) { 674 return set(SERIALIZER_useWhitespace, value); 675 } 676 677 /** 678 * Configuration property: Use whitespace. 679 * 680 * <p> 681 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>. 682 * 683 * <h5 class='section'>See Also:</h5> 684 * <ul> 685 * <li class='jf'>{@link Serializer#SERIALIZER_useWhitespace} 686 * </ul> 687 * @return This object (for method chaining). 688 */ 689 public SerializerBuilder useWhitespace() { 690 return set(SERIALIZER_useWhitespace, true); 691 } 692 693 /** 694 * Configuration property: Use whitespace. 695 * 696 * <p> 697 * Shortcut for calling <code>useWhitespace(<jk>true</jk>)</code>. 698 * 699 * <h5 class='section'>See Also:</h5> 700 * <ul> 701 * <li class='jf'>{@link Serializer#SERIALIZER_useWhitespace} 702 * </ul> 703 * 704 * @return This object (for method chaining). 705 */ 706 public SerializerBuilder ws() { 707 return useWhitespace(); 708 } 709 710 @Override /* BeanContextBuilder */ 711 public SerializerBuilder beansRequireDefaultConstructor(boolean value) { 712 super.beansRequireDefaultConstructor(value); 713 return this; 714 } 715 716 @Override /* BeanContextBuilder */ 717 public SerializerBuilder beansRequireDefaultConstructor() { 718 super.beansRequireDefaultConstructor(); 719 return this; 720 } 721 722 @Override /* BeanContextBuilder */ 723 public SerializerBuilder beansRequireSerializable(boolean value) { 724 super.beansRequireSerializable(value); 725 return this; 726 } 727 728 @Override /* BeanContextBuilder */ 729 public SerializerBuilder beansRequireSerializable() { 730 super.beansRequireSerializable(); 731 return this; 732 } 733 734 @Override /* BeanContextBuilder */ 735 public SerializerBuilder beansRequireSettersForGetters(boolean value) { 736 super.beansRequireSettersForGetters(value); 737 return this; 738 } 739 740 @Override /* BeanContextBuilder */ 741 public SerializerBuilder beansRequireSettersForGetters() { 742 super.beansRequireSettersForGetters(); 743 return this; 744 } 745 746 @Override /* BeanContextBuilder */ 747 public SerializerBuilder beansRequireSomeProperties(boolean value) { 748 super.beansRequireSomeProperties(value); 749 return this; 750 } 751 752 @Override /* BeanContextBuilder */ 753 public SerializerBuilder beanMapPutReturnsOldValue(boolean value) { 754 super.beanMapPutReturnsOldValue(value); 755 return this; 756 } 757 758 @Override /* BeanContextBuilder */ 759 public SerializerBuilder beanMapPutReturnsOldValue() { 760 super.beanMapPutReturnsOldValue(); 761 return this; 762 } 763 764 @Override /* BeanContextBuilder */ 765 public SerializerBuilder beanConstructorVisibility(Visibility value) { 766 super.beanConstructorVisibility(value); 767 return this; 768 } 769 770 @Override /* BeanContextBuilder */ 771 public SerializerBuilder beanClassVisibility(Visibility value) { 772 super.beanClassVisibility(value); 773 return this; 774 } 775 776 @Override /* BeanContextBuilder */ 777 public SerializerBuilder beanFieldVisibility(Visibility value) { 778 super.beanFieldVisibility(value); 779 return this; 780 } 781 782 @Override /* BeanContextBuilder */ 783 public SerializerBuilder beanMethodVisibility(Visibility value) { 784 super.beanMethodVisibility(value); 785 return this; 786 } 787 788 @Override /* BeanContextBuilder */ 789 public SerializerBuilder useJavaBeanIntrospector(boolean value) { 790 super.useJavaBeanIntrospector(value); 791 return this; 792 } 793 794 @Override /* BeanContextBuilder */ 795 public SerializerBuilder useJavaBeanIntrospector() { 796 super.useJavaBeanIntrospector(); 797 return this; 798 } 799 800 @Override /* BeanContextBuilder */ 801 public SerializerBuilder useInterfaceProxies(boolean value) { 802 super.useInterfaceProxies(value); 803 return this; 804 } 805 806 @Override /* BeanContextBuilder */ 807 public SerializerBuilder ignoreUnknownBeanProperties(boolean value) { 808 super.ignoreUnknownBeanProperties(value); 809 return this; 810 } 811 812 @Override /* BeanContextBuilder */ 813 public SerializerBuilder ignoreUnknownBeanProperties() { 814 super.ignoreUnknownBeanProperties(); 815 return this; 816 } 817 818 @Override /* BeanContextBuilder */ 819 public SerializerBuilder ignoreUnknownNullBeanProperties(boolean value) { 820 super.ignoreUnknownNullBeanProperties(value); 821 return this; 822 } 823 824 @Override /* BeanContextBuilder */ 825 public SerializerBuilder ignorePropertiesWithoutSetters(boolean value) { 826 super.ignorePropertiesWithoutSetters(value); 827 return this; 828 } 829 830 @Override /* BeanContextBuilder */ 831 public SerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) { 832 super.ignoreInvocationExceptionsOnGetters(value); 833 return this; 834 } 835 836 @Override /* BeanContextBuilder */ 837 public SerializerBuilder ignoreInvocationExceptionsOnGetters() { 838 super.ignoreInvocationExceptionsOnGetters(); 839 return this; 840 } 841 842 @Override /* BeanContextBuilder */ 843 public SerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) { 844 super.ignoreInvocationExceptionsOnSetters(value); 845 return this; 846 } 847 848 @Override /* BeanContextBuilder */ 849 public SerializerBuilder ignoreInvocationExceptionsOnSetters() { 850 super.ignoreInvocationExceptionsOnSetters(); 851 return this; 852 } 853 854 @Override /* BeanContextBuilder */ 855 public SerializerBuilder sortProperties(boolean value) { 856 super.sortProperties(value); 857 return this; 858 } 859 860 @Override /* BeanContextBuilder */ 861 public SerializerBuilder sortProperties() { 862 super.sortProperties(); 863 return this; 864 } 865 866 @Override /* BeanContextBuilder */ 867 public SerializerBuilder notBeanPackages(Object...values) { 868 super.notBeanPackages(values); 869 return this; 870 } 871 872 @Override /* BeanContextBuilder */ 873 public SerializerBuilder notBeanPackages(String...values) { 874 super.notBeanPackages(values); 875 return this; 876 } 877 878 @Override /* BeanContextBuilder */ 879 public SerializerBuilder notBeanPackages(boolean append, Object...values) { 880 super.notBeanPackages(append, values); 881 return this; 882 } 883 884 @Override /* BeanContextBuilder */ 885 public SerializerBuilder notBeanPackagesRemove(Object...values) { 886 super.notBeanPackagesRemove(values); 887 return this; 888 } 889 890 @Override /* BeanContextBuilder */ 891 public SerializerBuilder notBeanClasses(Object...values) { 892 super.notBeanClasses(values); 893 return this; 894 } 895 896 @Override /* BeanContextBuilder */ 897 public SerializerBuilder notBeanClasses(Class<?>...values) { 898 super.notBeanClasses(values); 899 return this; 900 } 901 902 @Override /* BeanContextBuilder */ 903 public SerializerBuilder notBeanClasses(boolean append, Object...values) { 904 super.notBeanClasses(append, values); 905 return this; 906 } 907 908 @Override /* BeanContextBuilder */ 909 public SerializerBuilder notBeanClassesRemove(Object...values) { 910 super.notBeanClassesRemove(values); 911 return this; 912 } 913 914 @Override /* BeanContextBuilder */ 915 public SerializerBuilder beanFilters(Object...values) { 916 super.beanFilters(values); 917 return this; 918 } 919 920 @Override /* BeanContextBuilder */ 921 public SerializerBuilder beanFilters(Class<?>...values) { 922 super.beanFilters(values); 923 return this; 924 } 925 926 @Override /* BeanContextBuilder */ 927 public SerializerBuilder beanFilters(boolean append, Object...values) { 928 super.beanFilters(append, values); 929 return this; 930 } 931 932 @Override /* BeanContextBuilder */ 933 public SerializerBuilder beanFiltersRemove(Object...values) { 934 super.beanFiltersRemove(values); 935 return this; 936 } 937 938 @Override /* BeanContextBuilder */ 939 public SerializerBuilder pojoSwaps(Object...values) { 940 super.pojoSwaps(values); 941 return this; 942 } 943 944 @Override /* BeanContextBuilder */ 945 public SerializerBuilder pojoSwaps(Class<?>...values) { 946 super.pojoSwaps(values); 947 return this; 948 } 949 950 @Override /* BeanContextBuilder */ 951 public SerializerBuilder pojoSwaps(boolean append, Object...values) { 952 super.pojoSwaps(append, values); 953 return this; 954 } 955 956 @Override /* BeanContextBuilder */ 957 public SerializerBuilder pojoSwapsRemove(Object...values) { 958 super.pojoSwapsRemove(values); 959 return this; 960 } 961 962 @Override /* BeanContextBuilder */ 963 public SerializerBuilder implClasses(Map<String,Class<?>> values) { 964 super.implClasses(values); 965 return this; 966 } 967 968 @Override /* BeanContextBuilder */ 969 public <T> SerializerBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) { 970 super.implClass(interfaceClass, implClass); 971 return this; 972 } 973 974 @Override /* BeanContextBuilder */ 975 public SerializerBuilder beanDictionary(Object...values) { 976 super.beanDictionary(values); 977 return this; 978 } 979 980 @Override /* BeanContextBuilder */ 981 public SerializerBuilder beanDictionary(Class<?>...values) { 982 super.beanDictionary(values); 983 return this; 984 } 985 986 @Override /* BeanContextBuilder */ 987 public SerializerBuilder beanDictionary(boolean append, Object...values) { 988 super.beanDictionary(append, values); 989 return this; 990 } 991 992 @Override /* BeanContextBuilder */ 993 public SerializerBuilder beanDictionaryRemove(Object...values) { 994 super.beanDictionaryRemove(values); 995 return this; 996 } 997 998 @Override /* BeanContextBuilder */ 999 public SerializerBuilder beanTypePropertyName(String value) { 1000 super.beanTypePropertyName(value); 1001 return this; 1002 } 1003 1004 @Override /* BeanContextBuilder */ 1005 public SerializerBuilder locale(Locale value) { 1006 super.locale(value); 1007 return this; 1008 } 1009 1010 @Override /* BeanContextBuilder */ 1011 public SerializerBuilder timeZone(TimeZone value) { 1012 super.timeZone(value); 1013 return this; 1014 } 1015 1016 @Override /* BeanContextBuilder */ 1017 public SerializerBuilder mediaType(MediaType value) { 1018 super.mediaType(value); 1019 return this; 1020 } 1021 1022 @Override /* BeanContextBuilder */ 1023 public SerializerBuilder debug() { 1024 super.debug(); 1025 return this; 1026 } 1027 1028 @Override /* ContextBuilder */ 1029 public SerializerBuilder set(String name, Object value) { 1030 super.set(name, value); 1031 return this; 1032 } 1033 1034 @Override /* ContextBuilder */ 1035 public SerializerBuilder set(boolean append, String name, Object value) { 1036 super.set(append, name, value); 1037 return this; 1038 } 1039 1040 @Override /* ContextBuilder */ 1041 public SerializerBuilder set(Map<String,Object> properties) { 1042 super.set(properties); 1043 return this; 1044 } 1045 1046 @Override /* ContextBuilder */ 1047 public SerializerBuilder add(Map<String,Object> properties) { 1048 super.add(properties); 1049 return this; 1050 } 1051 1052 @Override /* ContextBuilder */ 1053 public SerializerBuilder addTo(String name, Object value) { 1054 super.addTo(name, value); 1055 return this; 1056 } 1057 1058 @Override /* ContextBuilder */ 1059 public SerializerBuilder addTo(String name, String key, Object value) { 1060 super.addTo(name, key, value); 1061 return this; 1062 } 1063 1064 @Override /* ContextBuilder */ 1065 public SerializerBuilder removeFrom(String name, Object value) { 1066 super.removeFrom(name, value); 1067 return this; 1068 } 1069 1070 @Override /* ContextBuilder */ 1071 public SerializerBuilder apply(PropertyStore copyFrom) { 1072 super.apply(copyFrom); 1073 return this; 1074 } 1075 1076 @Override /* Context */ 1077 public Serializer build() { 1078 return null; 1079 } 1080}