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.html;
014
015import static org.apache.juneau.html.HtmlDocSerializer.*;
016
017import java.lang.reflect.*;
018import java.nio.charset.*;
019import java.util.*;
020
021import org.apache.juneau.*;
022import org.apache.juneau.http.*;
023import org.apache.juneau.reflect.*;
024import org.apache.juneau.serializer.*;
025import org.apache.juneau.svl.*;
026import org.apache.juneau.xml.*;
027
028/**
029 * Builder class for building instances of HTML Doc serializers.
030 */
031public class HtmlDocSerializerBuilder extends HtmlStrippedDocSerializerBuilder {
032
033   /**
034    * Constructor, default settings.
035    */
036   public HtmlDocSerializerBuilder() {
037      super();
038   }
039
040   /**
041    * Constructor.
042    *
043    * @param ps The initial configuration settings for this builder.
044    */
045   public HtmlDocSerializerBuilder(PropertyStore ps) {
046      super(ps);
047   }
048
049   @Override /* ContextBuilder */
050   public HtmlDocSerializer build() {
051      return build(HtmlDocSerializer.class);
052   }
053
054   //-----------------------------------------------------------------------------------------------------------------
055   // Properties
056   //-----------------------------------------------------------------------------------------------------------------
057
058   /**
059    * Configuration property:  Aside section contents.
060    *
061    * <p>
062    * Allows you to specify the contents of the aside section on the HTML page.
063    * The aside section floats on the right of the page for providing content supporting the serialized content of
064    * the page.
065    *
066    * <p>
067    * By default, the aside section is empty.
068    *
069    * <h5 class='section'>Example:</h5>
070    * <p class='bcode w800'>
071    *    <ja>@HtmlDocConfig</ja>(
072    *       aside={
073    *          <js>"&lt;ul&gt;"</js>,
074    *          <js>" &lt;li&gt;Item 1"</js>,
075    *          <js>" &lt;li&gt;Item 2"</js>,
076    *          <js>" &lt;li&gt;Item 3"</js>,
077    *          <js>"&lt;/ul&gt;"</js>
078    *       }
079    *    )
080    * </p>
081    *
082    * @param value
083    *    The new value for this property.
084    * @return This object (for method chaining).
085    */
086   public HtmlDocSerializerBuilder aside(String[] value) {
087      set(HTMLDOC_aside, value);
088      return this;
089   }
090
091   /**
092    * Configuration property:  Footer section contents.
093    *
094    * <p>
095    * Allows you to specify the contents of the footer section on the HTML page.
096    *
097    * <p>
098    * By default, the footer section is empty.
099    *
100    * <h5 class='section'>Example:</h5>
101    * <p class='bcode w800'>
102    *    <ja>@HtmlDocConfig</ja>(
103    *       footer={
104    *          <js>"&lt;b&gt;This interface is great!&lt;/b&gt;"</js>
105    *       }
106    *    )
107    * </p>
108    *
109    * @param value
110    *    The new value for this property.
111    * @return This object (for method chaining).
112    */
113   public HtmlDocSerializerBuilder footer(String[] value) {
114      set(HTMLDOC_footer, value);
115      return this;
116   }
117
118   /**
119    * Configuration property:  Additional head section content.
120    *
121    * <p>
122    * Adds the specified HTML content to the head section of the page.
123    *
124    * <h5 class='section'>Example:</h5>
125    * <p class='bcode w800'>
126    *    <ja>@HtmlDoc</ja>(
127    *       head={
128    *          <js>"&lt;link rel='icon' href='$U{servlet:/htdocs/mypageicon.ico}'&gt;"</js>
129    *       }
130    *    )
131    * </p>
132    *
133    * @param value
134    *    The new value for this property.
135    * @return This object (for method chaining).
136    */
137   public HtmlDocSerializerBuilder head(String[] value) {
138      set(HTMLDOC_head, value);
139      return this;
140   }
141
142   /**
143    * Configuration property:  Header section contents.
144    *
145    * <p>
146    * Allows you to override the contents of the header section on the HTML page.
147    * The header section normally contains the title and description at the top of the page.
148    *
149    * <h5 class='section'>Example:</h5>
150    * <p class='bcode w800'>
151    *    <ja>@HtmlDocConfig</ja>(
152    *       header={
153    *          <js>"&lt;h1&gt;My own header&lt;/h1&gt;"</js>
154    *       }
155    *    )
156    * </p>
157    *
158    * @param value
159    *    The new value for this property.
160    * @return This object (for method chaining).
161    */
162   public HtmlDocSerializerBuilder header(String[] value) {
163      set(HTMLDOC_header, value);
164      return this;
165   }
166
167   /**
168    * Configuration property:  Nav section contents.
169    *
170    * <p>
171    * Allows you to override the contents of the nav section on the HTML page.
172    * The nav section normally contains the page links at the top of the page.
173    *
174    * <h5 class='section'>Example:</h5>
175    * <p class='bcode w800'>
176    *    <ja>@HtmlDocConfig</ja>(
177    *       nav={
178    *          <js>"&lt;p class='special-navigation'&gt;This is my special navigation content&lt;/p&gt;"</js>
179    *       }
180    *    )
181    * </p>
182    *
183    * <p>
184    * When this property is specified, the {@link HtmlDocSerializer#HTMLDOC_navlinks} property is ignored.
185    *
186    * @param value
187    *    The new value for this property.
188    * @return This object (for method chaining).
189    */
190   public HtmlDocSerializerBuilder nav(String[] value) {
191      set(HTMLDOC_nav, value);
192      return this;
193   }
194
195   /**
196    * Configuration property:  Page navigation links.
197    *
198    * <p>
199    * Adds a list of hyperlinks immediately under the title and description but above the content of the page.
200    *
201    * <p>
202    * This can be used to provide convenient hyperlinks when viewing the REST interface from a browser.
203    *
204    * <p>
205    * The value is an array of strings with two possible values:
206    * <ul>
207    *    <li>A key-value pair representing a hyperlink label and href:
208    *       <br><js>"google: http://google.com"</js>
209    *    <li>Arbitrary HTML.
210    * </ul>
211    *
212    * <p>
213    * Relative URLs are considered relative to the servlet path.
214    * For example, if the servlet path is <js>"http://localhost/myContext/myServlet"</js>, and the
215    * URL is <js>"foo"</js>, the link becomes <js>"http://localhost/myContext/myServlet/foo"</js>.
216    * Absolute (<js>"/myOtherContext/foo"</js>) and fully-qualified (<js>"http://localhost2/foo"</js>) URLs
217    * can also be used in addition to various other protocols specified by {@link UriResolver} such as
218    * <js>"servlet:/..."</js>.
219    *
220    * <h5 class='section'>Example:</h5>
221    * <p>
222    *    <ja>@HtmlDocConfig</ja>(
223    *       navlinks={
224    *          <js>"options: ?method=OPTIONS"</js>,
225    *          <js>"doc: doc"</js>
226    *       }
227    *    )
228    *    <jk>public class</jk> AddressBookResource <jk>extends</jk> BasicRestServletJena {
229    * </p>
230    *
231    * @param value
232    *    The new value for this property.
233    * @return This object (for method chaining).
234    */
235   public HtmlDocSerializerBuilder navlinks_replace(String[] value) {
236      set(HTMLDOC_navlinks, value);
237      return this;
238   }
239
240   /**
241    * Configuration property:  Add to the {@link HtmlDocSerializer#HTMLDOC_navlinks} property.
242    *
243    * @param value
244    *    The value to add to this property.
245    * @return This object (for method chaining).
246    */
247   public HtmlDocSerializerBuilder navlinks(String[] value) {
248      set(HTMLDOC_navlinks_add, value);
249      return this;
250   }
251
252   /**
253    * Configuration property:  No-results message.
254    *
255    * <p>
256    * Allows you to specify the string message used when trying to serialize an empty array or empty list.
257    *
258    * <h5 class='section'>Example:</h5>
259    * <p class='bcode w800'>
260    *    <ja>@HtmlDocConfig</ja>(
261    *       noResultsMessage=<js>"&lt;b&gt;This interface is great!&lt;/b&gt;"</js>
262    *    )
263    * </p>
264    *
265    * <p>
266    * A value of <js>"NONE"</js> can be used to represent no value to differentiate it from an empty string.
267    *
268    * @param value
269    *    The new value for this property.
270    * @return This object (for method chaining).
271    */
272   public HtmlDocSerializerBuilder noResultsMessage(String value) {
273      set(HTMLDOC_noResultsMessage, value);
274      return this;
275   }
276
277   /**
278    * Configuration property:  Prevent word wrap on page.
279    *
280    * <p>
281    * Adds <js>"* {white-space:nowrap}"</js> to the CSS instructions on the page to prevent word wrapping.
282    *
283    * @param value
284    *    The new value for this property.
285    * @return This object (for method chaining).
286    */
287   public HtmlDocSerializerBuilder nowrap(boolean value) {
288      set(HTMLDOC_nowrap, value);
289      return this;
290   }
291
292   /**
293    * Configuration property:  Javascript code.
294    *
295    * <p>
296    * Adds the specified Javascript code to the HTML page.
297    *
298    * <h5 class='section'>Example:</h5>
299    * <p class='bcode w800'>
300    *    <ja>@HtmlDocConfig</ja>(
301    *       script={
302    *          <js>"alert('hello!');"</js>
303    *       }
304    *    )
305    * </p>
306    *
307    * @param value
308    *    The new value for this property.
309    * @return This object (for method chaining).
310    */
311   public HtmlDocSerializerBuilder script_replace(String[] value) {
312      set(HTMLDOC_script, value);
313      return this;
314   }
315
316   /**
317    * Configuration property:  Add to the {@link HtmlDocSerializer#HTMLDOC_script} property.
318    *
319    * @param value
320    *    The value to add to this property.
321    * @return This object (for method chaining).
322    */
323   public HtmlDocSerializerBuilder script(String[] value) {
324      set(HTMLDOC_script_add, value);
325      return this;
326   }
327
328   /**
329    * Configuration property:  CSS style code.
330    *
331    * <p>
332    * Adds the specified CSS instructions to the HTML page.
333    *
334    * <h5 class='section'>Example:</h5>
335    * <p class='bcode w800'>
336    *    <ja>@HtmlDocConfig</ja>(
337    *       style={
338    *          <js>"h3 { color: red; }"</js>,
339    *          <js>"h5 { font-weight: bold; }"</js>
340    *       }
341    *    )
342    * </p>
343    *
344    * @param value
345    *    The new value for this property.
346    * @return This object (for method chaining).
347    */
348   public HtmlDocSerializerBuilder style_replace(String[] value) {
349      set(HTMLDOC_style, value);
350      return this;
351   }
352
353   /**
354    * Configuration property:  Add to the {@link HtmlDocSerializer#HTMLDOC_style} property.
355    *
356    * @param value
357    *    The value to add to this property.
358    * @return This object (for method chaining).
359    */
360   public HtmlDocSerializerBuilder style(String[] value) {
361      set(HTMLDOC_style_add, value);
362      return this;
363   }
364
365   /**
366    * Configuration property:  Stylesheet import URLs.
367    *
368    * <p>
369    * Adds a link to the specified stylesheet URL.
370    *
371    * <p>
372    * Note that this stylesheet is controlled by the <code><ja>@Rest</ja>.stylesheet()</code> annotation.
373    *
374    * @param value
375    *    The new value for this property.
376    * @return This object (for method chaining).
377    */
378   public HtmlDocSerializerBuilder stylesheet_replace(String[] value) {
379      set(HTMLDOC_stylesheet, value);
380      return this;
381   }
382
383   /**
384    * Configuration property:  Add to the {@link HtmlDocSerializer#HTMLDOC_stylesheet} property.
385    *
386    * @param value
387    *    The value to add to this property.
388    * @return This object (for method chaining).
389    */
390   public HtmlDocSerializerBuilder stylesheet(String[] value) {
391      set(HTMLDOC_stylesheet_add, value);
392      return this;
393   }
394
395   /**
396    * Configuration property:  HTML document template.
397    *
398    * <p>
399    * Specifies the template to use for serializing the page.
400    *
401    * <p>
402    * By default, the {@link BasicHtmlDocTemplate} class is used to construct the contents of the HTML page, but
403    * can be overridden with your own custom implementation class.
404    *
405    * <h5 class='section'>Example:</h5>
406    * <p class='bcode w800'>
407    *    <ja>@HtmlDocConfig</ja>(
408    *       template=MySpecialDocTemplate.<jk>class</jk>
409    *    )
410    * </p>
411    *
412    * @param value
413    *    The new value for this property.
414    * @return This object (for method chaining).
415    */
416   public HtmlDocSerializerBuilder template(Class<?> value) {
417      set(HTMLDOC_template, value);
418      return this;
419   }
420
421   /**
422    * Configuration property:  HTML Widgets.
423    *
424    * <p>
425    * Defines widgets that can be used in conjunction with string variables of the form <js>"$W{name}"</js>to quickly
426    * generate arbitrary replacement text.
427    *
428    * <ul class='seealso'>
429    *    <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_widgets}
430    * </ul>
431    *
432    * @param values The values to add to this setting.
433    * @return This object (for method chaining).
434    */
435   @SuppressWarnings("unchecked")
436   public HtmlDocSerializerBuilder widgets(Class<? extends HtmlWidget>...values) {
437      return addTo(HTMLDOC_widgets, values);
438   }
439
440   /**
441    * Configuration property:  HTML Widgets.
442    *
443    * <p>
444    * Same as {@link #widgets(Class...)} but replaces any previous values.
445    *
446    * <ul class='seealso'>
447    *    <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_widgets}
448    * </ul>
449    *
450    * @param values The values to set on this setting.
451    * @return This object (for method chaining).
452    */
453   @SuppressWarnings("unchecked")
454   public HtmlDocSerializerBuilder widgetsReplace(Class<? extends HtmlWidget>...values) {
455      return set(HTMLDOC_widgets, values);
456   }
457
458   /**
459    * Configuration property:  HTML Widgets.
460    *
461    * <p>
462    * Same as {@link #widgets(Class...)} except input is pre-constructed instances.
463    *
464    * <ul class='seealso'>
465    *    <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_widgets}
466    * </ul>
467    *
468    * @param values The values to add to this setting.
469    * @return This object (for method chaining).
470    */
471   public HtmlDocSerializerBuilder widgets(HtmlWidget...values) {
472      return addTo(HTMLDOC_widgets, values);
473   }
474
475   /**
476    * Configuration property:  HTML Widgets.
477    *
478    * <p>
479    * Same as {@link #widgets(HtmlWidget...)} except allows you to overwrite the previous value.
480    *
481    * <ul class='seealso'>
482    *    <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_widgets}
483    * </ul>
484    *
485    * @param values The values to add to this setting.
486    * @return This object (for method chaining).
487    */
488   public HtmlDocSerializerBuilder widgetsReplace(HtmlWidget...values) {
489      return set(HTMLDOC_widgets, values);
490   }
491
492   @Override /* HtmlSerializerBuilder */
493   public HtmlDocSerializerBuilder addKeyValueTableHeaders(boolean value) {
494      super.addKeyValueTableHeaders(value);
495      return this;
496   }
497
498   @Override /* HtmlSerializerBuilder */
499   public HtmlDocSerializerBuilder addKeyValueTableHeaders() {
500      super.addKeyValueTableHeaders();
501      return this;
502   }
503
504   @Override /* HtmlSerializerBuilder */
505   public HtmlDocSerializerBuilder detectLinksInStrings(boolean value) {
506      super.detectLinksInStrings(value);
507      return this;
508   }
509
510   @Override /* HtmlSerializerBuilder */
511   public HtmlDocSerializerBuilder labelParameter(String value) {
512      super.labelParameter(value);
513      return this;
514   }
515
516   @Override /* HtmlSerializerBuilder */
517   public HtmlDocSerializerBuilder detectLabelParameters(boolean value) {
518      super.detectLabelParameters(value);
519      return this;
520   }
521
522   @Override /* HtmlSerializerBuilder */
523   public HtmlDocSerializerBuilder uriAnchorText(AnchorText value) {
524      super.uriAnchorText(value);
525      return this;
526   }
527
528   @Override /* HtmlSerializerBuilder */
529   public HtmlDocSerializerBuilder uriAnchorText(String value) {
530      super.uriAnchorText(value);
531      return this;
532   }
533
534   @Override /* HtmlSerializerBuilder */
535   public HtmlDocSerializerBuilder addNamespaceUrisToRoot(boolean value) {
536      super.addNamespaceUrisToRoot(value);
537      return this;
538   }
539
540   @Override /* XmlSerializerBuilder */
541   public HtmlDocSerializerBuilder addNamespaceUrisToRoot() {
542      super.addNamespaceUrisToRoot();
543      return this;
544   }
545
546   @Override /* XmlSerializerBuilder */
547   public HtmlDocSerializerBuilder autoDetectNamespaces(boolean value) {
548      super.autoDetectNamespaces(value);
549      return this;
550   }
551
552   @Override /* XmlSerializerBuilder */
553   public HtmlDocSerializerBuilder defaultNamespace(String value) {
554      super.defaultNamespace(value);
555      return this;
556   }
557
558   @Override /* XmlSerializerBuilder */
559   public HtmlDocSerializerBuilder enableNamespaces(boolean value) {
560      super.enableNamespaces(value);
561      return this;
562   }
563
564   @Override /* XmlSerializerBuilder */
565   public HtmlDocSerializerBuilder namespaces(Namespace...values) {
566      super.namespaces(values);
567      return this;
568   }
569
570   @Override /* XmlSerializerBuilder */
571   public HtmlDocSerializerBuilder xsNamespace(Namespace value) {
572      super.xsNamespace(value);
573      return this;
574   }
575
576   @Override /* WriterSerializerBuilder */
577   public HtmlDocSerializerBuilder fileCharset(Charset value) {
578      super.fileCharset(value);
579      return this;
580   }
581
582   @Override /* WriterSerializerBuilder */
583   public HtmlDocSerializerBuilder maxIndent(int value) {
584      super.maxIndent(value);
585      return this;
586   }
587
588   @Override /* WriterSerializerBuilder */
589   public HtmlDocSerializerBuilder quoteChar(char value) {
590      super.quoteChar(value);
591      return this;
592   }
593
594   @Override /* WriterSerializerBuilder */
595   public HtmlDocSerializerBuilder sq() {
596      super.sq();
597      return this;
598   }
599
600   @Override /* WriterSerializerBuilder */
601   public HtmlDocSerializerBuilder streamCharset(Charset value) {
602      super.streamCharset(value);
603      return this;
604   }
605
606   @Override /* WriterSerializerBuilder */
607   public HtmlDocSerializerBuilder useWhitespace(boolean value) {
608      super.useWhitespace(value);
609      return this;
610   }
611
612   @Override /* WriterSerializerBuilder */
613   public HtmlDocSerializerBuilder useWhitespace() {
614      super.useWhitespace();
615      return this;
616   }
617
618   @Override /* WriterSerializerBuilder */
619   public HtmlDocSerializerBuilder ws() {
620      super.ws();
621      return this;
622   }
623
624   @Override /* SerializerBuilder */
625   public HtmlDocSerializerBuilder addBeanTypes(boolean value) {
626      super.addBeanTypes(value);
627      return this;
628   }
629
630   @Override /* SerializerBuilder */
631   public HtmlDocSerializerBuilder addBeanTypes() {
632      super.addBeanTypes();
633      return this;
634   }
635
636   @Override /* SerializerBuilder */
637   public HtmlDocSerializerBuilder addRootType(boolean value) {
638      super.addRootType(value);
639      return this;
640   }
641
642   @Override /* SerializerBuilder */
643   public HtmlDocSerializerBuilder addRootType() {
644      super.addRootType();
645      return this;
646   }
647
648   @Override /* SerializerBuilder */
649   public HtmlDocSerializerBuilder detectRecursions(boolean value) {
650      super.detectRecursions(value);
651      return this;
652   }
653
654   @Override /* SerializerBuilder */
655   public HtmlDocSerializerBuilder detectRecursions() {
656      super.detectRecursions();
657      return this;
658   }
659
660   @Override /* SerializerBuilder */
661   public HtmlDocSerializerBuilder ignoreRecursions(boolean value) {
662      super.ignoreRecursions(value);
663      return this;
664   }
665
666   @Override /* SerializerBuilder */
667   public HtmlDocSerializerBuilder ignoreRecursions() {
668      super.ignoreRecursions();
669      return this;
670   }
671   @Override /* SerializerBuilder */
672   public HtmlDocSerializerBuilder initialDepth(int value) {
673      super.initialDepth(value);
674      return this;
675   }
676
677   @Override /* SerializerBuilder */
678   public HtmlDocSerializerBuilder listener(Class<? extends SerializerListener> value) {
679      super.listener(value);
680      return this;
681   }
682
683   @Override /* SerializerBuilder */
684   public HtmlDocSerializerBuilder maxDepth(int value) {
685      super.maxDepth(value);
686      return this;
687   }
688
689   @Override /* SerializerBuilder */
690   public HtmlDocSerializerBuilder sortCollections(boolean value) {
691      super.sortCollections(value);
692      return this;
693   }
694
695   @Override /* SerializerBuilder */
696   public HtmlDocSerializerBuilder sortCollections() {
697      super.sortCollections();
698      return this;
699   }
700
701   @Override /* SerializerBuilder */
702   public HtmlDocSerializerBuilder sortMaps(boolean value) {
703      super.sortMaps(value);
704      return this;
705   }
706
707   @Override /* SerializerBuilder */
708   public HtmlDocSerializerBuilder sortMaps() {
709      super.sortMaps();
710      return this;
711   }
712
713   @Override /* SerializerBuilder */
714   public HtmlDocSerializerBuilder trimEmptyCollections(boolean value) {
715      super.trimEmptyCollections(value);
716      return this;
717   }
718
719   @Override /* SerializerBuilder */
720   public HtmlDocSerializerBuilder trimEmptyCollections() {
721      super.trimEmptyCollections();
722      return this;
723   }
724
725   @Override /* SerializerBuilder */
726   public HtmlDocSerializerBuilder trimEmptyMaps(boolean value) {
727      super.trimEmptyMaps(value);
728      return this;
729   }
730
731   @Override /* SerializerBuilder */
732   public HtmlDocSerializerBuilder trimEmptyMaps() {
733      super.trimEmptyMaps();
734      return this;
735   }
736
737   @Override /* SerializerBuilder */
738   public HtmlDocSerializerBuilder trimNullProperties(boolean value) {
739      super.trimNullProperties(value);
740      return this;
741   }
742
743   @Override /* SerializerBuilder */
744   public HtmlDocSerializerBuilder trimStrings(boolean value) {
745      super.trimStrings(value);
746      return this;
747   }
748
749   @Override /* SerializerBuilder */
750   public HtmlDocSerializerBuilder trimStrings() {
751      super.trimStrings();
752      return this;
753   }
754
755   @Override /* SerializerBuilder */
756   public HtmlDocSerializerBuilder uriContext(UriContext value) {
757      super.uriContext(value);
758      return this;
759   }
760
761   @Override /* SerializerBuilder */
762   public HtmlDocSerializerBuilder uriRelativity(UriRelativity value) {
763      super.uriRelativity(value);
764      return this;
765   }
766
767   @Override /* SerializerBuilder */
768   public HtmlDocSerializerBuilder uriResolution(UriResolution value) {
769      super.uriResolution(value);
770      return this;
771   }
772
773   @Override /* BeanContextBuilder */
774   public HtmlDocSerializerBuilder beanClassVisibility(Visibility value) {
775      super.beanClassVisibility(value);
776      return this;
777   }
778
779   @Override /* BeanContextBuilder */
780   public HtmlDocSerializerBuilder beanConstructorVisibility(Visibility value) {
781      super.beanConstructorVisibility(value);
782      return this;
783   }
784
785   @Override /* BeanContextBuilder */
786   @Deprecated
787   public HtmlDocSerializerBuilder beanDictionary(Class<?>...values) {
788      super.beanDictionary(values);
789      return this;
790   }
791
792   @Override /* BeanContextBuilder */
793   @Deprecated
794   public HtmlDocSerializerBuilder beanDictionary(Object...values) {
795      super.beanDictionary(values);
796      return this;
797   }
798
799   @Override /* BeanContextBuilder */
800   @Deprecated
801   public HtmlDocSerializerBuilder beanDictionaryReplace(Class<?>...values) {
802      super.beanDictionaryReplace(values);
803      return this;
804   }
805
806   @Override /* BeanContextBuilder */
807   @Deprecated
808   public HtmlDocSerializerBuilder beanDictionaryReplace(Object...values) {
809      super.beanDictionaryReplace(values);
810      return this;
811   }
812
813   @Override /* BeanContextBuilder */
814   @Deprecated
815   public HtmlDocSerializerBuilder beanDictionaryRemove(Class<?>...values) {
816      super.beanDictionaryRemove(values);
817      return this;
818   }
819
820   @Override /* BeanContextBuilder */
821   @Deprecated
822   public HtmlDocSerializerBuilder beanDictionaryRemove(Object...values) {
823      super.beanDictionaryRemove(values);
824      return this;
825   }
826
827   @Override /* BeanContextBuilder */
828   public HtmlDocSerializerBuilder beanFieldVisibility(Visibility value) {
829      super.beanFieldVisibility(value);
830      return this;
831   }
832
833   @Override /* BeanContextBuilder */
834   public HtmlDocSerializerBuilder beanFilters(Class<?>...values) {
835      super.beanFilters(values);
836      return this;
837   }
838
839   @Override /* BeanContextBuilder */
840   public HtmlDocSerializerBuilder beanFilters(Object...values) {
841      super.beanFilters(values);
842      return this;
843   }
844
845   @Override /* BeanContextBuilder */
846   public HtmlDocSerializerBuilder beanFiltersReplace(Class<?>...values) {
847      super.beanFiltersReplace(values);
848      return this;
849   }
850
851   @Override /* BeanContextBuilder */
852   public HtmlDocSerializerBuilder beanFiltersReplace(Object...values) {
853      super.beanFiltersReplace(values);
854      return this;
855   }
856
857   @Override /* BeanContextBuilder */
858   public HtmlDocSerializerBuilder beanFiltersRemove(Class<?>...values) {
859      super.beanFiltersRemove(values);
860      return this;
861   }
862
863   @Override /* BeanContextBuilder */
864   public HtmlDocSerializerBuilder beanFiltersRemove(Object...values) {
865      super.beanFiltersRemove(values);
866      return this;
867   }
868
869   @Override /* BeanContextBuilder */
870   public HtmlDocSerializerBuilder beanMapPutReturnsOldValue(boolean value) {
871      super.beanMapPutReturnsOldValue(value);
872      return this;
873   }
874
875   @Override /* BeanContextBuilder */
876   public HtmlDocSerializerBuilder beanMapPutReturnsOldValue() {
877      super.beanMapPutReturnsOldValue();
878      return this;
879   }
880
881   @Override /* BeanContextBuilder */
882   public HtmlDocSerializerBuilder beanMethodVisibility(Visibility value) {
883      super.beanMethodVisibility(value);
884      return this;
885   }
886
887   @Override /* BeanContextBuilder */
888   public HtmlDocSerializerBuilder beansRequireDefaultConstructor(boolean value) {
889      super.beansRequireDefaultConstructor(value);
890      return this;
891   }
892
893   @Override /* BeanContextBuilder */
894   public HtmlDocSerializerBuilder beansRequireDefaultConstructor() {
895      super.beansRequireDefaultConstructor();
896      return this;
897   }
898
899   @Override /* BeanContextBuilder */
900   public HtmlDocSerializerBuilder beansRequireSerializable(boolean value) {
901      super.beansRequireSerializable(value);
902      return this;
903   }
904
905   @Override /* BeanContextBuilder */
906   public HtmlDocSerializerBuilder beansRequireSerializable() {
907      super.beansRequireSerializable();
908      return this;
909   }
910
911   @Override /* BeanContextBuilder */
912   public HtmlDocSerializerBuilder beansRequireSettersForGetters(boolean value) {
913      super.beansRequireSettersForGetters(value);
914      return this;
915   }
916
917   @Override /* BeanContextBuilder */
918   public HtmlDocSerializerBuilder beansRequireSettersForGetters() {
919      super.beansRequireSettersForGetters();
920      return this;
921   }
922
923   @Override /* BeanContextBuilder */
924   public HtmlDocSerializerBuilder beansRequireSomeProperties(boolean value) {
925      super.beansRequireSomeProperties(value);
926      return this;
927   }
928
929   @Override /* BeanContextBuilder */
930   public HtmlDocSerializerBuilder beanTypePropertyName(String value) {
931      super.beanTypePropertyName(value);
932      return this;
933   }
934
935   @Override /* BeanContextBuilder */
936   public HtmlDocSerializerBuilder bpi(Class<?> beanClass, String value) {
937      super.bpi(beanClass, value);
938      return this;
939   }
940
941   @Override /* BeanContextBuilder */
942   public HtmlDocSerializerBuilder bpi(Map<String,String> values) {
943      super.bpi(values);
944      return this;
945   }
946
947   @Override /* BeanContextBuilder */
948   public HtmlDocSerializerBuilder bpi(String beanClassName, String value) {
949      super.bpi(beanClassName, value);
950      return this;
951   }
952
953   @Override /* BeanContextBuilder */
954   public HtmlDocSerializerBuilder bpx(Class<?> beanClass, String properties) {
955      super.bpx(beanClass, properties);
956      return this;
957   }
958
959   @Override /* BeanContextBuilder */
960   public HtmlDocSerializerBuilder bpx(Map<String,String> values) {
961      super.bpx(values);
962      return this;
963   }
964
965   @Override /* BeanContextBuilder */
966   public HtmlDocSerializerBuilder bpx(String beanClassName, String value) {
967      super.bpx(beanClassName, value);
968      return this;
969   }
970
971   @Override /* BeanContextBuilder */
972   public HtmlDocSerializerBuilder bpro(Class<?> beanClass, String value) {
973      super.bpro(beanClass, value);
974      return this;
975   }
976
977   @Override /* BeanContextBuilder */
978   public HtmlDocSerializerBuilder bpro(Map<String,String> values) {
979      super.bpro(values);
980      return this;
981   }
982
983   @Override /* BeanContextBuilder */
984   public HtmlDocSerializerBuilder bpro(String beanClassName, String value) {
985      super.bpro(beanClassName, value);
986      return this;
987   }
988
989   @Override /* BeanContextBuilder */
990   public HtmlDocSerializerBuilder bpwo(Class<?> beanClass, String properties) {
991      super.bpwo(beanClass, properties);
992      return this;
993   }
994
995   @Override /* BeanContextBuilder */
996   public HtmlDocSerializerBuilder bpwo(Map<String,String> values) {
997      super.bpwo(values);
998      return this;
999   }
1000
1001   @Override /* BeanContextBuilder */
1002   public HtmlDocSerializerBuilder bpwo(String beanClassName, String value) {
1003      super.bpwo(beanClassName, value);
1004      return this;
1005   }
1006
1007   @Override /* BeanContextBuilder */
1008   public HtmlDocSerializerBuilder debug() {
1009      super.debug();
1010      return this;
1011   }
1012
1013   @Override /* BeanContextBuilder */
1014   public HtmlDocSerializerBuilder dictionary(Class<?>...values) {
1015      super.dictionary(values);
1016      return this;
1017   }
1018
1019   @Override /* BeanContextBuilder */
1020   public HtmlDocSerializerBuilder dictionary(Object...values) {
1021      super.dictionary(values);
1022      return this;
1023   }
1024
1025   @Override /* BeanContextBuilder */
1026   public HtmlDocSerializerBuilder dictionaryReplace(Class<?>...values) {
1027      super.dictionaryReplace(values);
1028      return this;
1029   }
1030
1031   @Override /* BeanContextBuilder */
1032   public HtmlDocSerializerBuilder dictionaryReplace(Object...values) {
1033      super.dictionaryReplace(values);
1034      return this;
1035   }
1036
1037   @Override /* BeanContextBuilder */
1038   public HtmlDocSerializerBuilder dictionaryRemove(Class<?>...values) {
1039      super.dictionaryRemove(values);
1040      return this;
1041   }
1042
1043   @Override /* BeanContextBuilder */
1044   public HtmlDocSerializerBuilder dictionaryRemove(Object...values) {
1045      super.dictionaryRemove(values);
1046      return this;
1047   }
1048
1049   @Override /* BeanContextBuilder */
1050   public <T> HtmlDocSerializerBuilder example(Class<T> c, T o) {
1051      super.example(c, o);
1052      return this;
1053   }
1054
1055   @Override /* BeanContextBuilder */
1056   public <T> HtmlDocSerializerBuilder exampleJson(Class<T> c, String value) {
1057      super.exampleJson(c, value);
1058      return this;
1059   }
1060
1061   @Override /* BeanContextBuilder */
1062   public HtmlDocSerializerBuilder ignoreInvocationExceptionsOnGetters(boolean value) {
1063      super.ignoreInvocationExceptionsOnGetters(value);
1064      return this;
1065   }
1066
1067   @Override /* BeanContextBuilder */
1068   public HtmlDocSerializerBuilder ignoreInvocationExceptionsOnGetters() {
1069      super.ignoreInvocationExceptionsOnGetters();
1070      return this;
1071   }
1072
1073   @Override /* BeanContextBuilder */
1074   public HtmlDocSerializerBuilder ignoreInvocationExceptionsOnSetters(boolean value) {
1075      super.ignoreInvocationExceptionsOnSetters(value);
1076      return this;
1077   }
1078
1079   @Override /* BeanContextBuilder */
1080   public HtmlDocSerializerBuilder ignoreInvocationExceptionsOnSetters() {
1081      super.ignoreInvocationExceptionsOnSetters();
1082      return this;
1083   }
1084
1085   @Override /* BeanContextBuilder */
1086   public HtmlDocSerializerBuilder ignorePropertiesWithoutSetters(boolean value) {
1087      super.ignorePropertiesWithoutSetters(value);
1088      return this;
1089   }
1090
1091   @Override /* BeanContextBuilder */
1092   public HtmlDocSerializerBuilder ignoreUnknownBeanProperties(boolean value) {
1093      super.ignoreUnknownBeanProperties(value);
1094      return this;
1095   }
1096
1097   @Override /* BeanContextBuilder */
1098   public HtmlDocSerializerBuilder ignoreUnknownBeanProperties() {
1099      super.ignoreUnknownBeanProperties();
1100      return this;
1101   }
1102
1103   @Override /* BeanContextBuilder */
1104   public HtmlDocSerializerBuilder ignoreUnknownNullBeanProperties(boolean value) {
1105      super.ignoreUnknownNullBeanProperties(value);
1106      return this;
1107   }
1108
1109   @Override /* BeanContextBuilder */
1110   public HtmlDocSerializerBuilder implClass(Class<?> interfaceClass, Class<?> implClass) {
1111      super.implClass(interfaceClass, implClass);
1112      return this;
1113   }
1114
1115   @Override /* BeanContextBuilder */
1116   public HtmlDocSerializerBuilder implClasses(Map<String,Class<?>> values) {
1117      super.implClasses(values);
1118      return this;
1119   }
1120
1121   @Override /* BeanContextBuilder */
1122   public HtmlDocSerializerBuilder locale(Locale value) {
1123      super.locale(value);
1124      return this;
1125   }
1126
1127   @Override /* BeanContextBuilder */
1128   public HtmlDocSerializerBuilder mediaType(MediaType value) {
1129      super.mediaType(value);
1130      return this;
1131   }
1132
1133   @Override /* BeanContextBuilder */
1134   public HtmlDocSerializerBuilder notBeanClasses(Class<?>...values) {
1135      super.notBeanClasses(values);
1136      return this;
1137   }
1138
1139   @Override /* BeanContextBuilder */
1140   public HtmlDocSerializerBuilder notBeanClasses(Object...values) {
1141      super.notBeanClasses(values);
1142      return this;
1143   }
1144
1145   @Override /* BeanContextBuilder */
1146   public HtmlDocSerializerBuilder notBeanClassesReplace(Class<?>...values) {
1147      super.notBeanClassesReplace(values);
1148      return this;
1149   }
1150
1151   @Override /* BeanContextBuilder */
1152   public HtmlDocSerializerBuilder notBeanClassesReplace(Object...values) {
1153      super.notBeanClassesReplace(values);
1154      return this;
1155   }
1156
1157   @Override /* BeanContextBuilder */
1158   public HtmlDocSerializerBuilder notBeanClassesRemove(Class<?>...values) {
1159      super.notBeanClassesRemove(values);
1160      return this;
1161   }
1162
1163   @Override /* BeanContextBuilder */
1164   public HtmlDocSerializerBuilder notBeanClassesRemove(Object...values) {
1165      super.notBeanClassesRemove(values);
1166      return this;
1167   }
1168
1169   @Override /* BeanContextBuilder */
1170   public HtmlDocSerializerBuilder notBeanPackages(Object...values) {
1171      super.notBeanPackages(values);
1172      return this;
1173   }
1174
1175   @Override /* BeanContextBuilder */
1176   public HtmlDocSerializerBuilder notBeanPackages(String...values) {
1177      super.notBeanPackages(values);
1178      return this;
1179   }
1180
1181   @Override /* BeanContextBuilder */
1182   public HtmlDocSerializerBuilder notBeanPackagesReplace(String...values) {
1183      super.notBeanPackagesReplace(values);
1184      return this;
1185   }
1186
1187   @Override /* BeanContextBuilder */
1188   public HtmlDocSerializerBuilder notBeanPackagesReplace(Object...values) {
1189      super.notBeanPackagesReplace(values);
1190      return this;
1191   }
1192
1193   @Override /* BeanContextBuilder */
1194   public HtmlDocSerializerBuilder notBeanPackagesRemove(String...values) {
1195      super.notBeanPackagesRemove(values);
1196      return this;
1197   }
1198
1199   @Override /* BeanContextBuilder */
1200   public HtmlDocSerializerBuilder notBeanPackagesRemove(Object...values) {
1201      super.notBeanPackagesRemove(values);
1202      return this;
1203   }
1204
1205   @Override /* BeanContextBuilder */
1206   public HtmlDocSerializerBuilder pojoSwaps(Class<?>...values) {
1207      super.pojoSwaps(values);
1208      return this;
1209   }
1210
1211   @Override /* BeanContextBuilder */
1212   public HtmlDocSerializerBuilder pojoSwaps(Object...values) {
1213      super.pojoSwaps(values);
1214      return this;
1215   }
1216
1217   @Override /* BeanContextBuilder */
1218   public HtmlDocSerializerBuilder pojoSwapsReplace(Class<?>...values) {
1219      super.pojoSwapsReplace(values);
1220      return this;
1221   }
1222
1223   @Override /* BeanContextBuilder */
1224   public HtmlDocSerializerBuilder pojoSwapsReplace(Object...values) {
1225      super.pojoSwapsReplace(values);
1226      return this;
1227   }
1228
1229   @Override /* BeanContextBuilder */
1230   public HtmlDocSerializerBuilder pojoSwapsRemove(Class<?>...values) {
1231      super.pojoSwapsRemove(values);
1232      return this;
1233   }
1234
1235   @Override /* BeanContextBuilder */
1236   public HtmlDocSerializerBuilder pojoSwapsRemove(Object...values) {
1237      super.pojoSwapsRemove(values);
1238      return this;
1239   }
1240
1241   @Override /* BeanContextBuilder */
1242   public HtmlDocSerializerBuilder sortProperties(boolean value) {
1243      super.sortProperties(value);
1244      return this;
1245   }
1246
1247   @Override /* BeanContextBuilder */
1248   public HtmlDocSerializerBuilder sortProperties() {
1249      super.sortProperties();
1250      return this;
1251   }
1252
1253   @Override /* BeanContextBuilder */
1254   public HtmlDocSerializerBuilder timeZone(TimeZone value) {
1255      super.timeZone(value);
1256      return this;
1257   }
1258
1259   @Override /* BeanContextBuilder */
1260   public HtmlDocSerializerBuilder useEnumNames(boolean value) {
1261      super.useEnumNames(value);
1262      return this;
1263   }
1264
1265   @Override /* BeanContextBuilder */
1266   public HtmlDocSerializerBuilder useEnumNames() {
1267      super.useEnumNames();
1268      return this;
1269   }
1270
1271   @Override /* BeanContextBuilder */
1272   public HtmlDocSerializerBuilder useInterfaceProxies(boolean value) {
1273      super.useInterfaceProxies(value);
1274      return this;
1275   }
1276
1277   @Override /* BeanContextBuilder */
1278   public HtmlDocSerializerBuilder useJavaBeanIntrospector(boolean value) {
1279      super.useJavaBeanIntrospector(value);
1280      return this;
1281   }
1282
1283   @Override /* BeanContextBuilder */
1284   public HtmlDocSerializerBuilder useJavaBeanIntrospector() {
1285      super.useJavaBeanIntrospector();
1286      return this;
1287   }
1288
1289   @Override /* ContextBuilder */
1290   public HtmlDocSerializerBuilder set(String name, Object value) {
1291      super.set(name, value);
1292      return this;
1293   }
1294
1295   @Override /* ContextBuilder */
1296   public HtmlDocSerializerBuilder set(Map<String,Object> properties) {
1297      super.set(properties);
1298      return this;
1299   }
1300
1301   @Override /* ContextBuilder */
1302   public HtmlDocSerializerBuilder add(Map<String,Object> properties) {
1303      super.add(properties);
1304      return this;
1305   }
1306
1307   @Override /* ContextBuilder */
1308   public HtmlDocSerializerBuilder addTo(String name, Object value) {
1309      super.addTo(name, value);
1310      return this;
1311   }
1312
1313   @Override /* ContextBuilder */
1314   public HtmlDocSerializerBuilder addTo(String name, String key, Object value) {
1315      super.addTo(name, key, value);
1316      return this;
1317   }
1318
1319   @Override /* ContextBuilder */
1320   public HtmlDocSerializerBuilder removeFrom(String name, Object value) {
1321      super.removeFrom(name, value);
1322      return this;
1323   }
1324
1325   @Override /* ContextBuilder */
1326   public HtmlDocSerializerBuilder apply(PropertyStore copyFrom) {
1327      super.apply(copyFrom);
1328      return this;
1329   }
1330
1331   @Override /* ContextBuilder */
1332   public HtmlDocSerializerBuilder applyAnnotations(AnnotationList al, VarResolverSession vrs) {
1333      super.applyAnnotations(al, vrs);
1334      return this;
1335   }
1336
1337   @Override /* ContextBuilder */
1338   public HtmlDocSerializerBuilder applyAnnotations(Class<?> fromClass) {
1339      super.applyAnnotations(fromClass);
1340      return this;
1341   }
1342
1343   @Override /* ContextBuilder */
1344   public HtmlDocSerializerBuilder applyAnnotations(Method fromMethod) {
1345      super.applyAnnotations(fromMethod);
1346      return this;
1347   }
1348}