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