This is an automated email from the ASF dual-hosted git repository.

jamesbognar pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/juneau.git


The following commit(s) were added to refs/heads/master by this push:
     new 11704e8  Remove deprecated code.
11704e8 is described below

commit 11704e83fe498e17664461fd6c1fc77091dd699c
Author: JamesBognar <[email protected]>
AuthorDate: Tue Oct 13 15:00:42 2020 -0400

    Remove deprecated code.
---
 .../org/apache/juneau/rest/HtmlDocBuilder.java     | 535 -------------------
 .../java/org/apache/juneau/rest/RestResponse.java  |  48 --
 .../org/apache/juneau/rest/annotation/HtmlDoc.java | 586 ---------------------
 .../apache/juneau/rest/annotation/RestMethod.java  |  18 -
 .../rest/annotation/RestMethodAnnotation.java      |   7 -
 .../rest/annotation/RestMethodConfigApply.java     |  12 -
 .../juneau/rest/annotation/RestResource.java       |  49 --
 .../rest/annotation/RestResourceConfigApply.java   |  11 -
 8 files changed, 1266 deletions(-)

diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/HtmlDocBuilder.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/HtmlDocBuilder.java
deleted file mode 100644
index 12afa36..0000000
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/HtmlDocBuilder.java
+++ /dev/null
@@ -1,535 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.rest;
-
-import static org.apache.juneau.html.HtmlDocSerializer.*;
-import static org.apache.juneau.internal.StringUtils.*;
-
-import java.util.regex.*;
-
-import org.apache.juneau.*;
-import org.apache.juneau.collections.*;
-import org.apache.juneau.html.*;
-import org.apache.juneau.html.annotation.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.utils.*;
-
-/**
- * Programmatic interface for setting properties used by the HtmlDoc 
serializer.
- *
- * <div class='warn'>
- *     <b>Deprecated</b> - Use {@link HtmlDocConfig}
- * </div>
- *
- * <p>
- * Basically just a convenience wrapper around the servlet or method level 
properties for setting properties defined
- * by the {@link HtmlDocSerializer} class.
- *
- * <p>
- * This class is instantiated through the following methods:
- * <ul>
- *     <li class='jm'>{@link RestResponse#getHtmlDocBuilder()} - Set values 
programmatically during a REST request.
- * </ul>
- *
- * <ul class='seealso'>
- *     <li class='link'>{@doc RestHtmlDocAnnotation}
- * </ul>
- */
-@Deprecated
-public class HtmlDocBuilder {
-
-       private final PropertyStoreBuilder builder;
-
-       /**
-        * Constructor.
-        *
-        * @param builder The builder object.
-        */
-       public HtmlDocBuilder(PropertyStoreBuilder builder) {
-               this.builder = builder;
-       }
-
-       /**
-        * Processes the contents of an {@link HtmlDoc} tag.
-        *
-        * @param hd The annotation to process.
-        */
-       public void process(HtmlDoc hd) {
-               if (hd.header().length > 0)
-                       header((Object[])hd.header());
-               if (hd.nav().length > 0)
-                       nav((Object[])hd.nav());
-               if (hd.aside().length > 0)
-                       aside((Object[])hd.aside());
-               if (hd.footer().length > 0)
-                       footer((Object[])hd.footer());
-               if (hd.style().length > 0)
-                       style((Object[])hd.style());
-               if (hd.script().length > 0)
-                       script((Object[])hd.script());
-               if (hd.navlinks().length > 0)
-                       navlinks((Object[])hd.navlinks());
-               if (hd.head().length > 0)
-                       head((Object[])hd.head());
-               if (hd.stylesheet().length > 0)
-                       stylesheet((Object[])hd.stylesheet());
-               if (! hd.noResultsMessage().isEmpty())
-                       noResultsMessage(hd.noResultsMessage());
-               if (! hd.nowrap().isEmpty())
-                       nowrap(Boolean.valueOf(hd.nowrap()));
-               if (hd.template() != HtmlDocTemplate.class)
-                       template(hd.template());
-       }
-
-       /**
-        * Sets the HTML header section contents.
-        *
-        * <p>
-        * The page header normally contains the title and description, but 
this value can be used to override the contents
-        * to be whatever you want.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              When a value is specified, the {@link 
#navlinks(Object...)} value will be ignored.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#header() @HtmlDoc(header)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML header section contents.
-        *      Object will be converted to a string using {@link 
Object#toString()}.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *              waste string concatenation cycles on non-HTML views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder header(Object...value) {
-               return set(HTMLDOC_header, resolveList(value, 
getStringArray(HTMLDOC_header)));
-       }
-
-       /**
-        * Sets the links in the HTML nav section.
-        *
-        * <p>
-        * The page links are positioned immediately under the title and text.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is a lax-JSON map of key/value 
pairs where the keys are the link text and the values are
-        *              relative (to the servlet) or absolute URLs.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              Supports {@doc MarshallingUris} (e.g. 
<js>"servlet:/..."</js>, <js>"request:/..."</js>).
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#navlinks() @HtmlDoc(navlinks)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML nav section links links.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *                      waste string concatenation cycles on non-HTML 
views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder navlinks(Object...value) {
-               return set(HTMLDOC_navlinks, resolveLinks(value, 
getStringArray(HTMLDOC_navlinks)));
-       }
-
-       /**
-        * Sets the HTML nav section contents.
-        *
-        * <p>
-        * The nav section of the page contains the links.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              When a value is specified, the {@link 
#navlinks(Object[])} value will be ignored.
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#nav() @HtmlDoc(nav)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML nav section contents.
-        *      Object will be converted to a string using {@link 
Object#toString()}.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *                      waste string concatenation cycles on non-HTML 
views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder nav(Object...value) {
-               return set(HTMLDOC_nav, resolveList(value, 
getStringArray(HTMLDOC_nav)));
-       }
-
-       /**
-        * Sets the HTML aside section contents.
-        *
-        * <p>
-        * The aside section typically floats on the right side of the page.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#aside() @HtmlDoc(aside)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML aside section contents.
-        *      Object will be converted to a string using {@link 
Object#toString()}.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to waste
-        *                      string concatenation cycles on non-HTML views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder aside(Object...value) {
-               return set(HTMLDOC_aside, resolveList(value, 
getStringArray(HTMLDOC_aside)));
-       }
-
-       /**
-        * Sets the HTML footer section contents.
-        *
-        * <p>
-        * The footer section typically floats on the bottom of the page.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#footer() @HtmlDoc(footer)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML footer section contents.
-        *      Object will be converted to a string using {@link 
Object#toString()}.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *                      waste string concatenation cycles on non-HTML 
views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder footer(Object...value) {
-               return set(HTMLDOC_footer, resolveList(value, 
getStringArray(HTMLDOC_footer)));
-       }
-
-       /**
-        * Sets the HTML CSS style section contents.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is CSS.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#style() @HtmlDoc(style)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML CSS style section contents.
-        *      Object will be converted to a string using {@link 
Object#toString()}.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *                      waste string concatenation cycles on non-HTML 
views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder style(Object...value) {
-               return set(HTMLDOC_style, resolveList(value, 
getStringArray(HTMLDOC_style)));
-       }
-
-       /**
-        * Sets the CSS URL in the HTML CSS style section.
-        *
-        * <p>
-        * Specifies the URL to the stylesheet to add as a link in the style 
tag in the header.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is a comma-delimited list of 
URLs.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#stylesheet() @HtmlDoc(stylesheet)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The CSS URL in the HTML CSS style section.
-        *      Object will be converted to a string using {@link 
Object#toString()}.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *                      waste string concatenation cycles on non-HTML 
views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder stylesheet(Object...value) {
-               return set(HTMLDOC_stylesheet, resolveSet(value, 
getStringArray(HTMLDOC_nav)));
-       }
-
-       /**
-        * Sets the HTML script section contents.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is Javascript.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#script() @HtmlDoc(script)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML script section contents.
-        *      Object will be converted to a string using {@link 
Object#toString()}.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *                      waste string concatenation cycles on non-HTML 
views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder script(Object...value) {
-               return set(HTMLDOC_script, resolveList(value, 
getStringArray(HTMLDOC_script)));
-       }
-
-       /**
-        * Sets the HTML head section contents.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"INHERIT"</js> means copy the values 
from the parent.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#head() @HtmlDoc(head)} annotation.
-        * </ul>
-        *
-        * @param value
-        *      The HTML head section contents.
-        *      <p>
-        *      <div class='info'>
-        *              <b>Tip:</b>  Use {@link StringMessage} to generate 
value with delayed serialization so as not to
-        *                      waste string concatenation cycles on non-HTML 
views.
-        *      </div>
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder head(Object...value) {
-               return set(HTMLDOC_head, resolveList(value, 
getStringArray(HTMLDOC_head)));
-       }
-
-       /**
-        * Shorthand method for forcing the rendered HTML content to be no-wrap.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#nowrap() @HtmlDoc(nowrap)} annotation.
-        * </ul>
-        *
-        * @param value The new nowrap setting.
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder nowrap(boolean value) {
-               return set(HTMLDOC_nowrap, value);
-       }
-
-       /**
-        * Specifies the text to display when serializing an empty array or 
collection.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#noResultsMessage() @HtmlDoc(noResultsMessage)} annotation.
-        * </ul>
-        *
-        * @param value The text to display when serializing an empty array or 
collection.
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder noResultsMessage(Object value) {
-               return set(HTMLDOC_noResultsMessage, value);
-       }
-
-       /**
-        * Specifies the template class to use for rendering the HTML page.
-        *
-        * <p>
-        * By default, uses {@link BasicHtmlDocTemplate} to render the 
contents, although you can provide your own custom
-        * renderer or subclasses from the basic class to have full control 
over how the page is rendered.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#template() @HtmlDoc(template)} annotation.
-        * </ul>
-        *
-        * @param value The HTML page template to use to render the HTML page.
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder template(Class<? extends HtmlDocTemplate> value) {
-               return set(HTMLDOC_template, value);
-       }
-
-       /**
-        * Specifies the template class to use for rendering the HTML page.
-        *
-        * <p>
-        * By default, uses {@link BasicHtmlDocTemplate} to render the 
contents, although you can provide your own custom
-        * renderer or subclasses from the basic class to have full control 
over how the page is rendered.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              This is the programmatic equivalent to the {@link 
HtmlDoc#template() @HtmlDoc(template)} annotation.
-        * </ul>
-        *
-        * @param value The HTML page template to use to render the HTML page.
-        * @return This object (for method chaining).
-        */
-       public HtmlDocBuilder template(HtmlDocTemplate value) {
-               return set(HTMLDOC_template, value);
-       }
-
-       private static final Pattern INDEXED_LINK_PATTERN = 
Pattern.compile("(?s)(\\S*)\\[(\\d+)\\]\\:(.*)");
-
-       private static String[] resolveLinks(Object[] value, String[] prev) {
-               AList<String> list = AList.of();
-               for (Object v : value) {
-                       String s = stringify(v);
-                       if ("INHERIT".equals(s)) {
-                               list.a(prev);
-                       } else if (s.indexOf('[') != -1 && 
INDEXED_LINK_PATTERN.matcher(s).matches()) {
-                               Matcher lm = INDEXED_LINK_PATTERN.matcher(s);
-                               lm.matches();
-                               String key = lm.group(1);
-                               int index = Math.min(list.size(), 
Integer.parseInt(lm.group(2)));
-                               String remainder = lm.group(3);
-                               list.add(index, key.isEmpty() ? remainder : key 
+ ":" + remainder);
-                       } else {
-                               list.add(s);
-                       }
-               }
-               return list.asArrayOf(String.class);
-       }
-
-       private static String[] resolveSet(Object[] value, String[] prev) {
-               ASet<String> set = ASet.of();
-               for (Object v : value) {
-                       String s = stringify(v);
-                       if ("INHERIT".equals(s)) {
-                               if (prev != null)
-                                       set.a(prev);
-                       } else if ("NONE".equals(s)) {
-                               return new String[0];
-                       } else {
-                               set.add(s);
-                       }
-               }
-               return set.asArrayOf(String.class);
-       }
-
-       private static String[] resolveList(Object[] value, String[] prev) {
-               ASet<String> set = ASet.of();
-               for (Object v : value) {
-                       String s = stringify(v);
-                       if ("INHERIT".equals(s)) {
-                               if (prev != null)
-                                       set.a(prev);
-                       } else if ("NONE".equals(s)) {
-                               return new String[0];
-                       } else {
-                               set.add(s);
-                       }
-               }
-               return set.asArrayOf(String.class);
-       }
-
-       private HtmlDocBuilder set(String key, Object value) {
-               builder.set(key, value);
-               return this;
-       }
-
-       private String[] getStringArray(String name) {
-               return builder.peek(String[].class, name);
-       }
-}
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index ba51add..bed181d 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -23,10 +23,8 @@ import javax.servlet.*;
 import javax.servlet.http.*;
 
 import org.apache.http.*;
-import org.apache.juneau.*;
 import org.apache.juneau.collections.*;
 import org.apache.juneau.encoders.*;
-import org.apache.juneau.html.annotation.*;
 import org.apache.juneau.http.*;
 import org.apache.juneau.httppart.*;
 import org.apache.juneau.httppart.bean.*;
@@ -71,8 +69,6 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
        private ServletOutputStream sos;
        private FinishableServletOutputStream os;
        private FinishablePrintWriter w;
-       @SuppressWarnings("deprecation")
-       private HtmlDocBuilder htmlDocBuilder;
 
        private ResponseBeanMeta responseMeta;
 
@@ -208,50 +204,6 @@ public final class RestResponse extends 
HttpServletResponseWrapper {
        }
 
        /**
-        * Returns a programmatic interface for setting properties for the HTML 
doc view.
-        *
-        * <div class='warn'>
-        *      <b>Deprecated</b> - Use {@link HtmlDocConfig}
-        * </div>
-        *
-        * <p>
-        * This is the programmatic equivalent to the {@link 
RestMethod#htmldoc() @RestMethod(htmldoc)} annotation.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <jc>// Declarative approach.</jc>
-        *  <ja>@HtmlDocConfig</ja>(
-        *              header={
-        *                      <js>"&lt;p&gt;This is my REST 
interface&lt;/p&gt;"</js>
-        *              },
-        *              aside={
-        *                      <js>"&lt;p&gt;Custom aside 
content&lt;/p&gt;"</js>
-        *              }
-        *      )
-        *      <jk>public</jk> Object doGet(RestResponse res) {
-        *
-        *              <jc>// Equivalent programmatic approach.</jc>
-        *              res.getHtmlDocBuilder()
-        *                      .header(<js>"&lt;p&gt;This is my REST 
interface&lt;/p&gt;"</js>)
-        *                      .aside(<js>"&lt;p&gt;Custom aside 
content&lt;/p&gt;"</js>);
-        *      }
-        * </p>
-        *
-        * <ul class='seealso'>
-        *      <li class='ja'>{@link RestMethod#htmldoc()}
-        *      <li class='link'>{@doc RestHtmlDocAnnotation}
-        * </ul>
-        *
-        * @return A new programmatic interface for setting properties for the 
HTML doc view.
-        */
-       @Deprecated
-       public HtmlDocBuilder getHtmlDocBuilder() {
-               if (htmlDocBuilder == null)
-                       htmlDocBuilder = new 
HtmlDocBuilder(PropertyStore.create());
-               return htmlDocBuilder;
-       }
-
-       /**
         * Retrieve the properties active for this request.
         *
         * <div class='warn'>
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
deleted file mode 100644
index 95bd2de..0000000
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/HtmlDoc.java
+++ /dev/null
@@ -1,586 +0,0 @@
-// 
***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more 
contributor license agreements.  See the NOTICE file *
-// * distributed with this work for additional information regarding copyright 
ownership.  The ASF licenses this file        *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not 
use this file except in compliance            *
-// * with the License.  You may obtain a copy of the License at                
                                              *
-// *                                                                           
                                              *
-// *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
-// *                                                                           
                                              *
-// * Unless required by applicable law or agreed to in writing, software 
distributed under the License is distributed on an  *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either 
express or implied.  See the License for the        *
-// * specific language governing permissions and limitations under the 
License.                                              *
-// 
***************************************************************************************************************************
-package org.apache.juneau.rest.annotation;
-
-import org.apache.juneau.html.*;
-import org.apache.juneau.html.annotation.*;
-import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.widget.*;
-
-/**
- * Contains all the configurable annotations for the {@link HtmlDocSerializer}.
- *
- * <div class='warn'>
- *     <b>Deprecated</b> - Use {@link HtmlDocConfig}
- * </div>
- *
- * <p>
- * Used with {@link RestResource#htmldoc() @RestResource(htmldoc)} and {@link 
RestMethod#htmldoc() @RestMethod(htmldoc)}
- * to customize the HTML view of serialized POJOs.
- *
- * <p>
- * All annotations specified here have no effect on any serializers other than 
{@link HtmlDocSerializer} and is
- * provided as a shorthand method of for specifying configuration properties.
- *
- * <p>
- * For example, the following two methods for defining the HTML nav links are 
considered equivalent:
- * <p class='bcode w800'>
- *     <jc>// Defined via properties.</jc>
- *     <ja>@RestResource</ja>(
- *             properties={
- *                     
<ja>@Property</ja>(name=HtmlDocSerializer.<jsf>HTMLDOC_navlinks</jsf>, 
value=<js>"{options:'servlet:/?method=OPTIONS',stats:'servlet:/stats',doc:'doc'}"</js>)
- *             }
- *     )
- *
- *     <jc>// Defined via annotation.</jc>
- *     <ja>@RestResource</ja>(
- *             htmldoc=<ja>@HtmlDoc</ja>(
- *                     navlinks={
- *                             <js>"options: servlet:/?method=OPTIONS"</js>,
- *                             <js>"stats: servlet:/stats"</js>,
- *                             <js>"doc: doc"</js>
- *                     }
- *             )
- *     )
- * </p>
- *
- * <p>
- * The purpose of these annotation is to populate the HTML document view which 
by default consists of the following
- * structure:
- * <p class='bcode w800'>
- *     <xt>&lt;html&gt;
- *             &lt;head&gt;
- *                     &lt;style <xa>type</xa>=<xs>'text/css'</xs>&gt;
- *                             <xv>CSS styles and links to stylesheets</xv>
- *                     &lt;/style&gt;
- *             &lt;/head&gt;
- *             &lt;body&gt;
- *                     &lt;header&gt;
- *                             <xv>Page header</xv>
- *                     &lt;/header&gt;
- *                     &lt;nav&gt;
- *                             <xv>Navigation links</xv>
- *                     &lt;/nav&gt;
- *                     &lt;aside&gt;
- *                             <xv>Side-bar text</xv>
- *                     &lt;/aside&gt;
- *                     &lt;article&gt;
- *                             <xv>Contents of serialized object</xv>
- *                     &lt;/article&gt;
- *                     &lt;footer&gt;
- *                             <xv>Footer message</xv>
- *                     &lt;/footer&gt;
- *             &lt;/body&gt;
- *     &lt;/html&gt;</xt>
- * </p>
- *
- * <ul class='seealso'>
- *     <li class='link'>{@doc RestHtmlDocAnnotation}
- * </ul>
- */
-@Deprecated
-public @interface HtmlDoc {
-
-       /**
-        * Sets the HTML aside section contents.
-        *
-        * <p>
-        * The aside section typically floats on the right side of the page.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      aside={
-        *                              <js>"&lt;p&gt;Custom aside 
content&lt;/p&gt;"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              The parent value can be included by adding the literal 
<js>"INHERIT"</js> as a value.
-        *      <li>
-        *              Multiple values are combined with newlines into a 
single string.
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_aside}
-        *      <li class='jm'>{@link HtmlDocBuilder#aside(Object...)}
-        * </ul>
-        */
-       String[] aside() default {};
-
-       /**
-        * Sets the HTML footer section contents.
-        *
-        * <p>
-        * The footer section typically floats on the bottom of the page.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      footer={
-        *                              <js>"&lt;p&gt;Custom footer 
content&lt;/p&gt;"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              The parent value can be included by adding the literal 
<js>"INHERIT"</js> as a value.
-        *      <li>
-        *              Multiple values are combined with newlines into a 
single string.
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_footer}
-        *      <li class='jm'>{@link HtmlDocBuilder#footer(Object...)}
-        * </ul>
-        */
-       String[] footer() default {};
-
-       /**
-        * Adds arbitrary content to the HTML <xt>&lt;head&gt;</xt> element on 
the page.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      head={
-        *                              <jc>// Add a shortcut link in the 
browser tab</jc>
-        *                              <js>"&lt;link rel='icon' 
href&#61;'$U{servlet:/htdocs/mypageicon.ico}'&gt;"</js>,
-        *
-        *                              <jc>// Reload the page every 5 seconds 
</jc>
-        *                              <js>"&lt;meta http-equiv='refresh' 
content='5'&gt;"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              The head content from the parent can be included by 
adding the literal <js>"INHERIT"</js> as a value.
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_head}
-        *      <li class='jm'>{@link HtmlDocBuilder#head(Object...)}
-        * </ul>
-        */
-       String[] head() default {};
-
-       /**
-        * Sets the HTML header section contents.
-        *
-        * <p>
-        * The page header normally contains the title and description, but 
this value can be used to override the contents
-        * to be whatever you want.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      header={
-        *                              <js>"&lt;p&gt;This is my REST 
interface&lt;/p&gt;"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
header.
-        *      <li>
-        *              The parent value can be included by adding the literal 
<js>"INHERIT"</js> as a value.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              Multiple values are combined with newlines into a 
single string.
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class if not overridden.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_header}
-        *      <li class='jm'>{@link HtmlDocBuilder#header(Object...)}
-        * </ul>
-        */
-       String[] header() default {};
-
-       /**
-        * Sets the HTML nav section contents.
-        *
-        * <p>
-        * The nav section of the page contains the links.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      nav={
-        *                              <js>"&lt;h5&gt;Custom nav 
content&lt;/h5&gt;"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is HTML.
-        *      <li>
-        *              When {@link #navlinks()} is also specified, this 
content is placed AFTER the navigation links.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              The parent value can be included by adding the literal 
<js>"INHERIT"</js> as a value.
-        *      <li>
-        *              Multiple values are combined with newlines into a 
single string.
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_nav}
-        *      <li class='jm'>{@link HtmlDocBuilder#nav(Object...)}
-        * </ul>
-        */
-       String[] nav() default {};
-
-       /**
-        * Sets the links in the HTML nav section.
-        *
-        * <p>
-        * The page links are positioned immediately under the title and text.
-        *
-        * <p>
-        * The value is an array of strings with two possible values:
-        * <ul>
-        *      <li>A key-value pair representing a hyperlink label and href:
-        *              <br><js>"google: http://google.com";</js>
-        *      <li>Arbitrary HTML.
-        * </ul>
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      navlinks={
-        *                              <js>"up: request:/.."</js>,
-        *                              <js>"options: 
servlet:/?method=OPTIONS"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              The parent links can be included by adding the literal 
<js>"INHERIT"</js> as a value.
-        *              <br>Use the syntax <js>"key[index]: value"</js> or 
<js>"[index]: value"</js> to specify an index location
-        *              to place a link inside the list of parent links.
-        *      <li>
-        *              Supports {@doc MarshallingUris} (e.g. 
<js>"servlet:/..."</js>, <js>"request:/..."</js>).
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_navlinks}
-        *      <li class='jm'>{@link HtmlDocBuilder#navlinks(Object...)}
-        * </ul>
-        */
-       String[] navlinks() default {};
-
-       /**
-        * Specifies the text to display when serializing an empty array or 
collection.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link 
HtmlDocSerializer#HTMLDOC_noResultsMessage}
-        *      <li class='jm'>{@link HtmlDocBuilder#noResultsMessage(Object)}
-        * </ul>
-        */
-       String noResultsMessage() default "no results";
-
-       /**
-        * Shorthand method for forcing the rendered HTML content to be no-wrap.
-        *
-        * <p>
-        * This only applies to the rendered data portion of the page.
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_nowrap}
-        *      <li class='jm'>{@link HtmlDocBuilder#nowrap(boolean)}
-        * </ul>
-        */
-       String nowrap() default "";
-
-       /**
-        * Sets the HTML script section contents.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      script={
-        *                              <js>"alert('Hello!')"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is Javascript.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              The parent value can be included by adding the literal 
<js>"INHERIT"</js> as a value.
-        *      <li>
-        *              Multiple values are combined with newlines into a 
single string.
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_script}
-        *      <li class='jm'>{@link HtmlDocBuilder#script(Object[])}
-        * </ul>
-        */
-       String[] script() default {};
-
-       /**
-        * Sets the HTML CSS style section contents.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      style={
-        *                              <js>".red{color:red;}"</js>,
-        *                              <js>".blue{color:blue;}"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is CSS.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              A value of <js>"NONE"</js> can be used to force no 
value.
-        *      <li>
-        *              The parent value can be included by adding the literal 
<js>"INHERIT"</js> as a value.
-        *      <li>
-        *              Multiple values are combined with newlines into a 
single string.
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_style}
-        *      <li class='jm'>{@link HtmlDocBuilder#style(Object[])}
-        * </ul>
-        */
-       String[] style() default {};
-
-       /**
-        * Sets the CSS URL in the HTML CSS style section.
-        *
-        * <p>
-        * Specifies the URL to the stylesheet to add as a link in the style 
tag in the header.
-        *
-        * <h5 class='section'>Example:</h5>
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      
stylesheet=<js>"http://someOtherHost/stealTheir.css";</js>
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              The format of this value is a URL.
-        *      <li>
-        *              Supports {@doc RestSvlVariables}
-        *              (e.g. <js>"$L{my.localized.variable}"</js>).
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_stylesheet}
-        *      <li class='jm'>{@link HtmlDocBuilder#stylesheet(Object[])}
-        * </ul>
-        */
-       String[] stylesheet() default {};
-
-       /**
-        * Specifies the template class to use for rendering the HTML page.
-        *
-        * <p>
-        * By default, uses {@link BasicHtmlDocTemplate} to render the 
contents, although you can provide your own custom
-        * renderer or subclasses from the basic class to have full control 
over how the page is rendered.
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              On methods, this value is inherited from the 
<ja>@HtmlDoc</ja> annotation on the servlet/resource class.
-        *      <li>
-        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDoc</ja> annotation on the
-        *              parent class.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_template}
-        *      <li class='jm'>{@link HtmlDocBuilder#template(Class)}
-        *      <li class='jm'>{@link HtmlDocBuilder#template(HtmlDocTemplate)}
-        * </ul>
-        */
-       Class<? extends HtmlDocTemplate> template() default 
HtmlDocTemplate.class;
-
-       /**
-        * Configuration property:  HTML Widgets.
-        *
-        * <p>
-        * Defines widgets that can be used in conjunction with string 
variables of the form <js>"$W{name}"</js>to quickly
-        * generate arbitrary replacement text.
-        *
-        * <p>
-        * Widgets resolve the following variables:
-        *
-        * <ul class='spaced-list'>
-        *      <li>
-        *              <js>"$W{name}"</js> - Contents returned by {@link 
Widget#getHtml(RestRequest,RestResponse)}.
-        *      <li>
-        *              <js>"$W{name.script}"</js> - Contents returned by 
{@link Widget#getScript(RestRequest,RestResponse)}.
-        *              <br>The script contents are automatically inserted into 
the <xt>&lt;head/script&gt;</xt> section
-        *                       in the HTML page.
-        *      <li>
-        *              <js>"$W{name.style}"</js> - Contents returned by {@link 
Widget#getStyle(RestRequest,RestResponse)}.
-        *              <br>The styles contents are automatically inserted into 
the <xt>&lt;head/style&gt;</xt> section
-        *                       in the HTML page.
-        * </ul>
-        *
-        * <p>
-        * The following examples shows how to associate a widget with a REST 
method and then have it rendered in the links
-        * and aside section of the page:
-        *
-        * <p class='bcode w800'>
-        *      <ja>@RestMethod</ja>(
-        *              widgets={
-        *                      MyWidget.<jk>class</jk>
-        *              }
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      navlinks={
-        *                              <js>"$W{MyWidget}"</js>
-        *                      },
-        *                      aside={
-        *                              <js>"Check out this widget:  
$W{MyWidget}"</js>
-        *                      }
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='notes'>
-        *      <li>
-        *              Widgets are inherited from parent to child, but can be 
overridden by reusing the widget name.
-        *      <li>
-        *              Values are appended to the existing list.
-        * </ul>
-        *
-        * <ul class='seealso'>
-        *      <li class='link'>{@doc RestHtmlWidgets}
-        * </ul>
-        */
-       Class<? extends Widget>[] widgets() default {};
-}
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
index 82220f6..d3cfe80 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethod.java
@@ -20,7 +20,6 @@ import java.lang.annotation.*;
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.rest.*;
-import org.apache.juneau.html.annotation.*;
 import org.apache.juneau.http.annotation.*;
 import org.apache.juneau.http.remote.*;
 
@@ -371,23 +370,6 @@ public @interface RestMethod {
        Class<? extends RestGuard>[] guards() default {};
 
        /**
-        * Provides HTML-doc-specific metadata on this method.
-        *
-        * <div class='warn'>
-        *      <b>Deprecated</b> - Use {@link HtmlDocConfig}
-        * </div>
-        *
-        * <p>
-        * Information provided here overrides information provided in the 
servlet-level annotation.
-        *
-        * <ul class='seealso'>
-        *      <li class='link'>{@doc RestHtmlDocAnnotation}
-        * </ul>
-        */
-       @Deprecated
-       HtmlDoc htmldoc() default @HtmlDoc;
-
-       /**
         * Specifies rules on how to handle logging of HTTP requests/responses.
         *
         * <ul class='seealso'>
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
index 0bb7fd3..1bab2b9 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodAnnotation.java
@@ -65,7 +65,6 @@ public class RestMethodAnnotation implements RestMethod {
 
        private Class<? extends RestConverter>[] converters = new Class[0];
        private Class<? extends RestGuard>[] guards = new Class[0];
-       @SuppressWarnings("deprecation") private HtmlDoc htmldoc = null;
        private Logging logging = new LoggingAnnotation();
        private Class<? extends RestMatcher>[] matchers = new Class[0];
        private int priority = 0;
@@ -168,12 +167,6 @@ public class RestMethodAnnotation implements RestMethod {
                return guards;
        }
 
-       @SuppressWarnings("deprecation")
-       @Override /* RestMethod */
-       public HtmlDoc htmldoc() {
-               return htmldoc;
-       }
-
        @Override /* RestMethod */
        public Logging logging() {
                return logging;
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
index 58a00db..7394585 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestMethodConfigApply.java
@@ -14,12 +14,10 @@ package org.apache.juneau.rest.annotation;
 
 import static org.apache.juneau.BeanContext.*;
 import static org.apache.juneau.internal.ArrayUtils.*;
-import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.rest.RestContext.*;
 import static org.apache.juneau.rest.RestMethodContext.*;
 import static org.apache.juneau.rest.util.RestUtils.*;
-import static org.apache.juneau.html.HtmlDocSerializer.*;
 import java.util.*;
 import java.util.logging.*;
 
@@ -30,7 +28,6 @@ import org.apache.juneau.reflect.*;
 import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.AnnotationUtils;
 import org.apache.juneau.rest.util.*;
-import org.apache.juneau.rest.widget.*;
 import org.apache.juneau.svl.*;
 
 /**
@@ -286,15 +283,6 @@ public class RestMethodConfigApply extends 
ConfigApply<RestMethod> {
 
                        psb.set(RESTMETHOD_callLoggerConfig, m);
                }
-
-               HtmlDoc hd = a.htmldoc();
-               new HtmlDocBuilder(psb).process(hd);
-               for (Class<? extends Widget> wc : hd.widgets()) {
-                       Widget w = castOrCreate(Widget.class, wc);
-                       psb.prependTo(REST_widgets, w);
-                       psb.prependTo(HTMLDOC_script, 
"$W{"+w.getName()+".script}");
-                       psb.prependTo(HTMLDOC_script, 
"$W{"+w.getName()+".style}");
-               }
        }
 
        private Enablement enablement(String in) {
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
index fad124c..556195e 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResource.java
@@ -433,55 +433,6 @@ public @interface RestResource {
        Class<? extends RestGuard>[] guards() default {};
 
        /**
-        * Provides HTML-doc-specific metadata on this method.
-        *
-        * <p>
-        * Used to customize the output from the HTML Doc serializer.
-        * <p class='bcode w800'>
-        *      <ja>@RestResource</ja>(
-        *              path=<js>"/addressBook"</js>,
-        *
-        *              <jc>// Links on the HTML rendition page.
-        *              // "request:/..." URIs are relative to the request URI.
-        *              // "servlet:/..." URIs are relative to the servlet URI.
-        *              // "$C{...}" variables are pulled from the config 
file.</jc>
-        *              htmldoc=<ja>@HtmlDoc</ja>(
-        *                      <jc>// Widgets for $W variables.</jc>
-        *                      widgets={
-        *                              PoweredByJuneau.<jk>class</jk>,
-        *                              ContentTypeLinks.<jk>class</jk>
-        *                      }
-        *                      navlinks={
-        *                              <js>"up: request:/.."</js>,
-        *                              <js>"options: 
servlet:/?method=OPTIONS"</js>,
-        *                              <js>"stats: servlet:/stats"</js>,
-        *                              <js>"source: 
$C{Source/gitHub}/org/apache/juneau/examples/rest/addressbook/AddressBookResource.java"</js>,
-        *                      },
-        *                      aside={
-        *                              <js>"&lt;div 
style='max-width:400px;min-width:200px'&gt;"</js>,
-        *                              <js>"   &lt;p&gt;Proof-of-concept 
resource that shows off the capabilities of working with POJO 
resources.&lt;/p&gt;"</js>,
-        *                              <js>"   &lt;p&gt;Provides examples of: 
&lt;/p&gt;"</js>,
-        *                              <js>"           &lt;ul&gt;"</js>,
-        *                              <js>"                   &lt;li&gt;XML 
and RDF namespaces"</js>,
-        *                              <js>"                   
&lt;li&gt;Swagger documentation"</js>,
-        *                              <js>"                   
&lt;li&gt;Widgets"</js>,
-        *                              <js>"           &lt;/ul&gt;"</js>,
-        *                              <js>"   &lt;p 
style='text-weight:bold;text-decoration:underline;'&gt;Available Content 
Types&lt;/p&gt;"</js>,
-        *                              <js>"   $W{ContentTypeLinks}"</js>,
-        *                              <js>"&lt;/div&gt;"</js>
-        *                      },
-        *                      footer=<js>"$W{PoweredByJuneau}"</js>
-        *              )
-        *      )
-        * </p>
-        *
-        * <ul class='seealso'>
-        *      <li class='link'>{@doc RestHtmlDocAnnotation}
-        * </ul>
-        */
-       HtmlDoc htmldoc() default @HtmlDoc;
-
-       /**
         * Configuration property:  REST info provider.
         *
         * <p>
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
index c0b0386..4d7aa20 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestResourceConfigApply.java
@@ -20,7 +20,6 @@ import java.util.logging.*;
 import static org.apache.juneau.internal.StringUtils.*;
 import static org.apache.juneau.html.HtmlDocSerializer.*;
 import static org.apache.juneau.internal.ArrayUtils.*;
-import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.parser.Parser.*;
 
 import org.apache.juneau.*;
@@ -33,7 +32,6 @@ import org.apache.juneau.rest.*;
 import org.apache.juneau.rest.annotation.AnnotationUtils;
 import org.apache.juneau.rest.annotation.Logging;
 import org.apache.juneau.rest.util.*;
-import org.apache.juneau.rest.widget.*;
 import org.apache.juneau.serializer.*;
 import org.apache.juneau.svl.*;
 import org.apache.juneau.utils.*;
@@ -295,15 +293,6 @@ public class RestResourceConfigApply extends 
ConfigApply<RestResource> {
 
                if (! a.roleGuard().isEmpty())
                        psb.addTo(REST_roleGuard, string(a.roleGuard()));
-
-               HtmlDoc hd = a.htmldoc();
-               new HtmlDocBuilder(psb).process(hd);
-               for (Class<? extends Widget> wc : hd.widgets()) {
-                       Widget w = castOrCreate(Widget.class, wc);
-                       psb.prependTo(REST_widgets, w);
-                       psb.prependTo(HTMLDOC_script, 
"$W{"+w.getName()+".script}");
-                       psb.prependTo(HTMLDOC_script, 
"$W{"+w.getName()+".style}");
-               }
        }
 
        private String trimLeadingSlash(String value) {

Reply via email to