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