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.soap;
014
015import static org.apache.juneau.soap.SoapXmlSerializer.*;
016
017import java.util.*;
018
019import org.apache.juneau.*;
020import org.apache.juneau.http.*;
021import org.apache.juneau.serializer.*;
022import org.apache.juneau.xml.*;
023
024/**
025 * Builder class for building instances of soap/xml serializers.
026 */
027public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
028
029   /**
030    * Constructor, default settings.
031    */
032   public SoapXmlSerializerBuilder() {
033      super();
034   }
035
036   /**
037    * Constructor.
038    *
039    * @param ps The initial configuration settings for this builder.
040    */
041   public SoapXmlSerializerBuilder(PropertyStore ps) {
042      super(ps);
043   }
044
045   @Override /* ContextBuilder */
046   public SoapXmlSerializer build() {
047      return build(SoapXmlSerializer.class);
048   }
049
050
051   //-----------------------------------------------------------------------------------------------------------------
052   // Properties
053   //-----------------------------------------------------------------------------------------------------------------
054
055   /**
056    * Configuration property:  The <code>SOAPAction</code> HTTP header value to set on responses.
057    *
058    * <h5 class='section'>See Also:</h5>
059    * <ul>
060    *    <li class='jf'>{@link SoapXmlSerializer#SOAPXML_SOAPAction}
061    * </ul>
062    *
063    * @param value
064    *    The new value for this property.
065    *    <br>The default is <js>"http://www.w3.org/2003/05/soap-envelope"</js>.
066    * @return This object (for method chaining).
067    */
068   public SoapXmlSerializerBuilder soapAction(String value) {
069      return set(SOAPXML_SOAPAction, value);
070   }
071
072   @Override /* SerializerBuilder */
073   public SoapXmlSerializerBuilder addBeanTypes(boolean value) {
074      super.addBeanTypes(value);
075      return this;
076   }
077
078   @Override /* SerializerBuilder */
079   public SoapXmlSerializerBuilder addBeanTypes() {
080      super.addBeanTypes();
081      return this;
082   }
083
084   @Override /* SerializerBuilder */
085   public SoapXmlSerializerBuilder addRootType(boolean value) {
086      super.addRootType(value);
087      return this;
088   }
089
090   @Override /* SerializerBuilder */
091   public SoapXmlSerializerBuilder addRootType() {
092      super.addRootType();
093      return this;
094   }
095
096   @Override /* SerializerBuilder */
097   public SoapXmlSerializerBuilder detectRecursions(boolean value) {
098      super.detectRecursions(value);
099      return this;
100   }
101
102   @Override /* SerializerBuilder */
103   public SoapXmlSerializerBuilder detectRecursions() {
104      super.detectRecursions();
105      return this;
106   }
107
108   @Override /* SerializerBuilder */
109   public SoapXmlSerializerBuilder ignoreRecursions(boolean value) {
110      super.ignoreRecursions(value);
111      return this;
112   }
113
114   @Override /* SerializerBuilder */
115   public SoapXmlSerializerBuilder ignoreRecursions() {
116      super.ignoreRecursions();
117      return this;
118   }
119   @Override /* SerializerBuilder */
120   public SoapXmlSerializerBuilder initialDepth(int value) {
121      super.initialDepth(value);
122      return this;
123   }
124
125   @Override /* SerializerBuilder */
126   public SoapXmlSerializerBuilder listener(Class<? extends SerializerListener> value) {
127      super.listener(value);
128      return this;
129   }
130
131   @Override /* SerializerBuilder */
132   public SoapXmlSerializerBuilder maxDepth(int value) {
133      super.maxDepth(value);
134      return this;
135   }
136
137   @Override /* SerializerBuilder */
138   public SoapXmlSerializerBuilder maxIndent(int value) {
139      super.maxIndent(value);
140      return this;
141   }
142
143   @Override /* SerializerBuilder */
144   public SoapXmlSerializerBuilder quoteChar(char value) {
145      super.quoteChar(value);
146      return this;
147   }
148
149   @Override /* SerializerBuilder */
150   public SoapXmlSerializerBuilder sortCollections(boolean value) {
151      super.sortCollections(value);
152      return this;
153   }
154
155   @Override /* SerializerBuilder */
156   public SoapXmlSerializerBuilder sortCollections() {
157      super.sortCollections();
158      return this;
159   }
160
161   @Override /* SerializerBuilder */
162   public SoapXmlSerializerBuilder sortMaps(boolean value) {
163      super.sortMaps(value);
164      return this;
165   }
166
167   @Override /* SerializerBuilder */
168   public SoapXmlSerializerBuilder sortMaps() {
169      super.sortMaps();
170      return this;
171   }
172
173   @Override /* SerializerBuilder */
174   public SoapXmlSerializerBuilder sq() {
175      super.sq();
176      return this;
177   }
178
179   @Override /* SerializerBuilder */
180   public SoapXmlSerializerBuilder trimEmptyCollections(boolean value) {
181      super.trimEmptyCollections(value);
182      return this;
183   }
184
185   @Override /* SerializerBuilder */
186   public SoapXmlSerializerBuilder trimEmptyCollections() {
187      super.trimEmptyCollections();
188      return this;
189   }
190
191   @Override /* SerializerBuilder */
192   public SoapXmlSerializerBuilder trimEmptyMaps(boolean value) {
193      super.trimEmptyMaps(value);
194      return this;
195   }
196
197   @Override /* SerializerBuilder */
198   public SoapXmlSerializerBuilder trimEmptyMaps() {
199      super.trimEmptyMaps();
200      return this;
201   }
202
203   @Override /* SerializerBuilder */
204   public SoapXmlSerializerBuilder trimNullProperties(boolean value) {
205      super.trimNullProperties(value);
206      return this;
207   }
208
209   @Override /* SerializerBuilder */
210   public SoapXmlSerializerBuilder trimStrings(boolean value) {
211      super.trimStrings(value);
212      return this;
213   }
214
215   @Override /* SerializerBuilder */
216   public SoapXmlSerializerBuilder trimStrings() {
217      super.trimStrings();
218      return this;
219   }
220
221   @Override /* SerializerBuilder */
222   public SoapXmlSerializerBuilder uriContext(UriContext value) {
223      super.uriContext(value);
224      return this;
225   }
226
227   @Override /* SerializerBuilder */
228   public SoapXmlSerializerBuilder uriRelativity(UriRelativity value) {
229      super.uriRelativity(value);
230      return this;
231   }
232
233   @Override /* SerializerBuilder */
234   public SoapXmlSerializerBuilder uriResolution(UriResolution value) {
235      super.uriResolution(value);
236      return this;
237   }
238
239   @Override /* SerializerBuilder */
240   public SoapXmlSerializerBuilder useWhitespace(boolean value) {
241      super.useWhitespace(value);
242      return this;
243   }
244
245   @Override /* SerializerBuilder */
246   public SoapXmlSerializerBuilder useWhitespace() {
247      super.useWhitespace();
248      return this;
249   }
250
251   @Override /* SerializerBuilder */
252   public SoapXmlSerializerBuilder ws() {
253      super.ws();
254      return this;
255   }
256
257   @Override /* BeanContextBuilder */
258   public SoapXmlSerializerBuilder beanClassVisibility(Visibility value) {
259      super.beanClassVisibility(value);
260      return this;
261   }
262
263   @Override /* BeanContextBuilder */
264   public SoapXmlSerializerBuilder beanConstructorVisibility(Visibility value) {
265      super.beanConstructorVisibility(value);
266      return this;
267   }
268
269   @Override /* BeanContextBuilder */
270   public SoapXmlSerializerBuilder beanDictionary(boolean append, Object...values) {
271      super.beanDictionary(append, values);
272      return this;
273   }
274
275   @Override /* BeanContextBuilder */
276   public SoapXmlSerializerBuilder beanDictionary(Class<?>...values) {
277      super.beanDictionary(values);
278      return this;
279   }
280
281   @Override /* BeanContextBuilder */
282   public SoapXmlSerializerBuilder beanDictionary(Object...values) {
283      super.beanDictionary(values);
284      return this;
285   }
286
287   @Override /* BeanContextBuilder */
288   public SoapXmlSerializerBuilder beanDictionaryRemove(Object...values) {
289      super.beanDictionaryRemove(values);
290      return this;
291   }
292
293   @Override /* BeanContextBuilder */
294   public SoapXmlSerializerBuilder beanFieldVisibility(Visibility value) {
295      super.beanFieldVisibility(value);
296      return this;
297   }
298
299   @Override /* BeanContextBuilder */
300   public SoapXmlSerializerBuilder beanFilters(boolean append, Object...values) {
301      super.beanFilters(append, values);
302      return this;
303   }
304
305   @Override /* BeanContextBuilder */
306   public SoapXmlSerializerBuilder beanFilters(Class<?>...values) {
307      super.beanFilters(values);
308      return this;
309   }
310
311   @Override /* BeanContextBuilder */
312   public SoapXmlSerializerBuilder beanFilters(Object...values) {
313      super.beanFilters(values);
314      return this;
315   }
316
317   @Override /* BeanContextBuilder */
318   public SoapXmlSerializerBuilder beanFiltersRemove(Object...values) {
319      super.beanFiltersRemove(values);
320      return this;
321   }
322
323   @Override /* BeanContextBuilder */
324   public SoapXmlSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
325      super.beanMapPutReturnsOldValue(value);
326      return this;
327   }
328
329   @Override /* BeanContextBuilder */
330   public SoapXmlSerializerBuilder beanMapPutReturnsOldValue() {
331      super.beanMapPutReturnsOldValue();
332      return this;
333   }
334
335   @Override /* BeanContextBuilder */
336   public SoapXmlSerializerBuilder beanMethodVisibility(Visibility value) {
337      super.beanMethodVisibility(value);
338      return this;
339   }
340
341   @Override /* BeanContextBuilder */
342   public SoapXmlSerializerBuilder beansRequireDefaultConstructor(boolean value) {
343      super.beansRequireDefaultConstructor(value);
344      return this;
345   }
346
347   @Override /* BeanContextBuilder */
348   public SoapXmlSerializerBuilder beansRequireDefaultConstructor() {
349      super.beansRequireDefaultConstructor();
350      return this;
351   }
352
353   @Override /* BeanContextBuilder */
354   public SoapXmlSerializerBuilder beansRequireSerializable(boolean value) {
355      super.beansRequireSerializable(value);
356      return this;
357   }
358
359   @Override /* BeanContextBuilder */
360   public SoapXmlSerializerBuilder beansRequireSerializable() {
361      super.beansRequireSerializable();
362      return this;
363   }
364
365   @Override /* BeanContextBuilder */
366   public SoapXmlSerializerBuilder beansRequireSettersForGetters(boolean value) {
367      super.beansRequireSettersForGetters(value);
368      return this;
369   }
370
371   @Override /* BeanContextBuilder */
372   public SoapXmlSerializerBuilder beansRequireSettersForGetters() {
373      super.beansRequireSettersForGetters();
374      return this;
375   }
376
377   @Override /* BeanContextBuilder */
378   public SoapXmlSerializerBuilder beansRequireSomeProperties(boolean value) {
379      super.beansRequireSomeProperties(value);
380      return this;
381   }
382
383   @Override /* BeanContextBuilder */
384   public SoapXmlSerializerBuilder beanTypePropertyName(String value) {
385      super.beanTypePropertyName(value);
386      return this;
387   }
388
389   @Override /* BeanContextBuilder */
390   public SoapXmlSerializerBuilder debug() {
391      super.debug();
392      return this;
393   }
394
395   @Override /* BeanContextBuilder */
396   public <T> SoapXmlSerializerBuilder example(Class<T> c, T o) {
397      super.example(c, o);
398      return this;
399   }
400
401   @Override /* BeanContextBuilder */
402   public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
403      super.ignoreInvocationExceptionsOnGetters(value);
404      return this;
405   }
406
407   @Override /* BeanContextBuilder */
408   public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnGetters() {
409      super.ignoreInvocationExceptionsOnGetters();
410      return this;
411   }
412
413   @Override /* BeanContextBuilder */
414   public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
415      super.ignoreInvocationExceptionsOnSetters(value);
416      return this;
417   }
418
419   @Override /* BeanContextBuilder */
420   public SoapXmlSerializerBuilder ignoreInvocationExceptionsOnSetters() {
421      super.ignoreInvocationExceptionsOnSetters();
422      return this;
423   }
424
425   @Override /* BeanContextBuilder */
426   public SoapXmlSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
427      super.ignorePropertiesWithoutSetters(value);
428      return this;
429   }
430
431   @Override /* BeanContextBuilder */
432   public SoapXmlSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
433      super.ignoreUnknownBeanProperties(value);
434      return this;
435   }
436
437   @Override /* BeanContextBuilder */
438   public SoapXmlSerializerBuilder ignoreUnknownBeanProperties() {
439      super.ignoreUnknownBeanProperties();
440      return this;
441   }
442
443   @Override /* BeanContextBuilder */
444   public SoapXmlSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
445      super.ignoreUnknownNullBeanProperties(value);
446      return this;
447   }
448
449   @Override /* BeanContextBuilder */
450   public <T> SoapXmlSerializerBuilder implClass(Class<T> interfaceClass, Class<? extends T> implClass) {
451      super.implClass(interfaceClass, implClass);
452      return this;
453   }
454
455   @Override /* BeanContextBuilder */
456   public SoapXmlSerializerBuilder implClasses(Map<String,Class<?>> values) {
457      super.implClasses(values);
458      return this;
459   }
460
461   @Override /* BeanContextBuilder */
462   public SoapXmlSerializerBuilder locale(Locale value) {
463      super.locale(value);
464      return this;
465   }
466
467   @Override /* BeanContextBuilder */
468   public SoapXmlSerializerBuilder mediaType(MediaType value) {
469      super.mediaType(value);
470      return this;
471   }
472
473   @Override /* BeanContextBuilder */
474   public SoapXmlSerializerBuilder notBeanClasses(boolean append, Object...values) {
475      super.notBeanClasses(append, values);
476      return this;
477   }
478
479   @Override /* BeanContextBuilder */
480   public SoapXmlSerializerBuilder notBeanClasses(Class<?>...values) {
481      super.notBeanClasses(values);
482      return this;
483   }
484
485   @Override /* BeanContextBuilder */
486   public SoapXmlSerializerBuilder notBeanClasses(Object...values) {
487      super.notBeanClasses(values);
488      return this;
489   }
490
491   @Override /* BeanContextBuilder */
492   public SoapXmlSerializerBuilder notBeanClassesRemove(Object...values) {
493      super.notBeanClassesRemove(values);
494      return this;
495   }
496
497   @Override /* BeanContextBuilder */
498   public SoapXmlSerializerBuilder notBeanPackages(boolean append, Object...values) {
499      super.notBeanPackages(append, values);
500      return this;
501   }
502
503   @Override /* BeanContextBuilder */
504   public SoapXmlSerializerBuilder notBeanPackages(Object...values) {
505      super.notBeanPackages(values);
506      return this;
507   }
508
509   @Override /* BeanContextBuilder */
510   public SoapXmlSerializerBuilder notBeanPackages(String...values) {
511      super.notBeanPackages(values);
512      return this;
513   }
514
515   @Override /* BeanContextBuilder */
516   public SoapXmlSerializerBuilder notBeanPackagesRemove(Object...values) {
517      super.notBeanPackagesRemove(values);
518      return this;
519   }
520
521   @Override /* BeanContextBuilder */
522   public SoapXmlSerializerBuilder pojoSwaps(boolean append, Object...values) {
523      super.pojoSwaps(append, values);
524      return this;
525   }
526
527   @Override /* BeanContextBuilder */
528   public SoapXmlSerializerBuilder pojoSwaps(Class<?>...values) {
529      super.pojoSwaps(values);
530      return this;
531   }
532
533   @Override /* BeanContextBuilder */
534   public SoapXmlSerializerBuilder pojoSwaps(Object...values) {
535      super.pojoSwaps(values);
536      return this;
537   }
538
539   @Override /* BeanContextBuilder */
540   public SoapXmlSerializerBuilder pojoSwapsRemove(Object...values) {
541      super.pojoSwapsRemove(values);
542      return this;
543   }
544
545   @Override /* BeanContextBuilder */
546   public SoapXmlSerializerBuilder sortProperties(boolean value) {
547      super.sortProperties(value);
548      return this;
549   }
550
551   @Override /* BeanContextBuilder */
552   public SoapXmlSerializerBuilder sortProperties() {
553      super.sortProperties();
554      return this;
555   }
556
557   @Override /* BeanContextBuilder */
558   public SoapXmlSerializerBuilder timeZone(TimeZone value) {
559      super.timeZone(value);
560      return this;
561   }
562
563   @Override /* BeanContextBuilder */
564   public SoapXmlSerializerBuilder useEnumNames() {
565      super.useEnumNames();
566      return this;
567   }
568
569   @Override /* BeanContextBuilder */
570   public SoapXmlSerializerBuilder useInterfaceProxies(boolean value) {
571      super.useInterfaceProxies(value);
572      return this;
573   }
574
575   @Override /* BeanContextBuilder */
576   public SoapXmlSerializerBuilder useJavaBeanIntrospector(boolean value) {
577      super.useJavaBeanIntrospector(value);
578      return this;
579   }
580
581   @Override /* BeanContextBuilder */
582   public SoapXmlSerializerBuilder useJavaBeanIntrospector() {
583      super.useJavaBeanIntrospector();
584      return this;
585   }
586
587   @Override /* ContextBuilder */
588   public SoapXmlSerializerBuilder set(String name, Object value) {
589      super.set(name, value);
590      return this;
591   }
592
593   @Override /* ContextBuilder */
594   public SoapXmlSerializerBuilder set(boolean append, String name, Object value) {
595      super.set(append, name, value);
596      return this;
597   }
598
599   @Override /* ContextBuilder */
600   public SoapXmlSerializerBuilder set(Map<String,Object> properties) {
601      super.set(properties);
602      return this;
603   }
604
605   @Override /* ContextBuilder */
606   public SoapXmlSerializerBuilder add(Map<String,Object> properties) {
607      super.add(properties);
608      return this;
609   }
610
611   @Override /* ContextBuilder */
612   public SoapXmlSerializerBuilder addTo(String name, Object value) {
613      super.addTo(name, value);
614      return this;
615   }
616
617   @Override /* ContextBuilder */
618   public SoapXmlSerializerBuilder addTo(String name, String key, Object value) {
619      super.addTo(name, key, value);
620      return this;
621   }
622
623   @Override /* ContextBuilder */
624   public SoapXmlSerializerBuilder removeFrom(String name, Object value) {
625      super.removeFrom(name, value);
626      return this;
627   }
628
629   @Override /* ContextBuilder */
630   public SoapXmlSerializerBuilder apply(PropertyStore copyFrom) {
631      super.apply(copyFrom);
632      return this;
633   }
634
635   /**
636    * @deprecated Use {@link Serializer#SERIALIZER_addRootType}.
637    */
638   @Override
639   @Deprecated
640   public SoapXmlSerializerBuilder abridged(boolean value) {
641      return this;
642   }
643
644   /**
645    * @deprecated Use {@link Serializer#SERIALIZER_addRootType}.
646    */
647   @Override
648   @Deprecated
649   public SoapXmlSerializerBuilder abridged() {
650      return this;
651   }
652
653   /**
654    * @deprecated {@link #addBeanTypes(boolean)}
655    */
656   @Override
657   @Deprecated
658   public SoapXmlSerializerBuilder addBeanTypeProperties(boolean value) {
659      this.addBeanTypes(value);
660      return this;
661   }
662}