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