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