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 b133c28  JUNEAU-102 Expanded REST annotations
b133c28 is described below

commit b133c28cd53e2a066dd5239accf2309e262e3a02
Author: JamesBognar <[email protected]>
AuthorDate: Mon May 13 10:32:07 2019 -0400

    JUNEAU-102 Expanded REST annotations
---
 .../main/java/org/apache/juneau/config/Config.java |  34 +-
 .../java/org/apache/juneau/config/ConfigTest.java  |  13 +-
 .../apache/juneau/jena/annotation/RdfConfig.java   | 406 ++++++++++---
 .../org/apache/juneau/annotation/BeanConfig.java   | 634 ++++++++++++++-------
 .../org/apache/juneau/html/HtmlDocSerializer.java  |   2 +-
 .../apache/juneau/html/annotation/HtmlConfig.java  | 108 ++--
 .../juneau/html/annotation/HtmlDocConfig.java      | 242 +++++++-
 .../apache/juneau/json/annotation/JsonConfig.java  |  68 ++-
 .../jsonschema/annotation/JsonSchemaConfig.java    | 144 +++--
 .../juneau/msgpack/annotation/MsgPackConfig.java   |  17 +-
 .../juneau/parser/annotation/ParserConfig.java     | 121 +++-
 .../serializer/annotation/SerializerConfig.java    | 252 +++++---
 .../java/org/apache/juneau/svl/VarResolver.java    |   9 +-
 .../java/org/apache/juneau/svl/vars/LenVar.java    |  13 +-
 .../apache/juneau/svl/vars/PatternExtractVar.java  |   8 +-
 .../apache/juneau/svl/vars/PatternReplaceVar.java  |   8 +-
 .../org/apache/juneau/svl/vars/SubstringVar.java   |   4 +-
 .../java/org/apache/juneau/uon/UonSerializer.java  |   2 +-
 .../apache/juneau/uon/annotation/UonConfig.java    |  92 ++-
 .../urlencoding/annotation/UrlEncodingConfig.java  |  22 +-
 .../apache/juneau/xml/annotation/XmlConfig.java    | 131 +++--
 juneau-doc/docs/ReleaseNotes/8.0.1.html            |  10 +-
 .../docs/Topics/05.juneau-svl/02.SvlVariables.html |   8 +-
 .../05.juneau-svl/04.DefaultVarResolver.html       |  38 ++
 .../{04.OtherNotes.html => 05.OtherNotes.html}     |   0
 .../06.juneau-config/15.SystemDefaultConfig.html   |   7 +-
 .../28.HtmlDocAnnotation.html                      |  78 ++-
 .../28.HtmlDocAnnotation/05.Stylesheets.html       |   4 +-
 juneau-doc/docs/docs.txt                           |   1 +
 29 files changed, 1840 insertions(+), 636 deletions(-)

diff --git 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
index fe953c0..ef7bb4d 100644
--- 
a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
+++ 
b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/Config.java
@@ -46,6 +46,7 @@ import org.apache.juneau.svl.*;
  */
 public final class Config extends Context implements ConfigEventListener, 
Writable {
 
+       private static boolean DISABLE_AUTO_SYSTEM_PROPS = 
Boolean.getBoolean("juneau.disableAutoSystemProps");
        private static volatile Config SYSTEM_DEFAULT = findSystemDefault();
 
        /**
@@ -70,8 +71,11 @@ public final class Config extends Context implements 
ConfigEventListener, Writab
 
                for (String n : getCandidateSystemDefaultConfigNames()) {
                        Config config = find(n);
-                       if (config != null)
+                       if (config != null) {
+                               if (! DISABLE_AUTO_SYSTEM_PROPS)
+                                       config.setSystemProperties();
                                return config;
+                       }
                }
 
                return null;
@@ -91,6 +95,7 @@ public final class Config extends Context implements 
ConfigEventListener, Writab
         *      <li><js>"application.cfg"</js>
         *      <li><js>"app.cfg"</js>
         *      <li><js>"settings.cfg"</js>
+        *      <li><js>"application.properties"</js>
         * </ol>
         * <p>
         *
@@ -126,6 +131,7 @@ public final class Config extends Context implements 
ConfigEventListener, Writab
                l.add("application.cfg");
                l.add("app.cfg");
                l.add("settings.cfg");
+               l.add("application.properties");
 
                return l;
        }
@@ -512,6 +518,24 @@ public final class Config extends Context implements 
ConfigEventListener, Writab
                return val;
        }
 
+       
//-----------------------------------------------------------------------------------------------------------------
+       // Utility methods
+       
//-----------------------------------------------------------------------------------------------------------------
+
+       /**
+        * Takes the settings defined in this configuration and sets them as 
system properties.
+        *
+        * @return This object (for method chaining).
+        */
+       public Config setSystemProperties() {
+               for (String section : getSections()) {
+                       for (String key : getKeys(section)) {
+                               String k = (section.isEmpty() ? key : section + 
'/' + key);
+                               System.setProperty(k, get(k));
+                       }
+               }
+               return this;
+       }
 
        
//-----------------------------------------------------------------------------------------------------------------
        // Workhorse setters
@@ -1420,6 +1444,14 @@ public final class Config extends Context implements 
ConfigEventListener, Writab
                return om;
        }
 
+       /**
+        * Returns the section names defined in this config.
+        *
+        * @return The section names defined in this config.
+        */
+       public Set<String> getSections() {
+               return Collections.unmodifiableSet(configMap.getSections());
+       }
 
        /**
         * Wraps a config file section inside a Java interface so that values 
in the section can be read and
diff --git 
a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/config/ConfigTest.java
 
b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/config/ConfigTest.java
index a0d0ed8..c2d0ae3 100644
--- 
a/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/config/ConfigTest.java
+++ 
b/juneau-core/juneau-core-test/src/test/java/org/apache/juneau/config/ConfigTest.java
@@ -1742,7 +1742,18 @@ public class ConfigTest {
                assertObjectEquals("['foo.txt']", 
Config.getCandidateSystemDefaultConfigNames());
 
                System.clearProperty("juneau.configFile");
-               
assertObjectEquals("['test.cfg','juneau.cfg','default.cfg','application.cfg','app.cfg','settings.cfg']",
 Config.getCandidateSystemDefaultConfigNames());
+               
assertObjectEquals("['test.cfg','juneau.cfg','default.cfg','application.cfg','app.cfg','settings.cfg','application.properties']",
 Config.getCandidateSystemDefaultConfigNames());
        }
 
+       
//====================================================================================================
+       //      setSystemProperties
+       
//====================================================================================================
+
+       @Test
+       public void setSystemProperties() throws Exception {
+               Config c = init("a=1", "[S]", "b=2");
+               c.setSystemProperties();
+               assertEquals("1", System.getProperty("a"));
+               assertEquals("2", System.getProperty("S/b"));
+       }
 }
\ No newline at end of file
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
index b076631..8b86eee 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/annotation/RdfConfig.java
@@ -46,34 +46,41 @@ public @interface RdfConfig {
         * <p>
         *      The RDF language to use.
         *
-        * <p>
-        * Can be any of the following:
+        * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
         *      <li>
-        *              <js>"RDF/XML"</js>
-        *      <li>
-        *              <js>"RDF/XML-ABBREV"</js> (default)
-        *      <li>
-        *              <js>"N-TRIPLE"</js>
-        *      <li>
-        *              <js>"N3"</js> - General name for the N3 writer.
-        *              Will make a decision on exactly which writer to use 
(pretty writer, plain writer or simple writer) when
-        *              created.
-        *              Default is the pretty writer but can be overridden with 
system property
-        *              <code>org.apache.jena.n3.N3JenaWriter.writer</code>.
-        *      <li>
-        *              <js>"N3-PP"</js> - Name of the N3 pretty writer.
-        *              The pretty writer uses a frame-like layout, with 
prefixing, clustering like properties and embedding
-        *              one-referenced bNodes.
-        *      <li>
-        *              <js>"N3-PLAIN"</js> - Name of the N3 plain writer.
-        *              The plain writer writes records by subject.
+        *              Possible values:
+        *              <ul class='spaced-list'>
+        *                      <li>
+        *                              <js>"RDF/XML"</js>
+        *                      <li>
+        *                              <js>"RDF/XML-ABBREV"</js> (default)
+        *                      <li>
+        *                              <js>"N-TRIPLE"</js>
+        *                      <li>
+        *                              <js>"N3"</js> - General name for the N3 
writer.
+        *                              Will make a decision on exactly which 
writer to use (pretty writer, plain writer or simple writer) when
+        *                              created.
+        *                              Default is the pretty writer but can be 
overridden with system property
+        *                              
<code>org.apache.jena.n3.N3JenaWriter.writer</code>.
+        *                      <li>
+        *                              <js>"N3-PP"</js> - Name of the N3 
pretty writer.
+        *                              The pretty writer uses a frame-like 
layout, with prefixing, clustering like properties and embedding
+        *                              one-referenced bNodes.
+        *                      <li>
+        *                              <js>"N3-PLAIN"</js> - Name of the N3 
plain writer.
+        *                              The plain writer writes records by 
subject.
+        *                      <li>
+        *                              <js>"N3-TRIPLES"</js> - Name of the N3 
triples writer.
+        *                              This writer writes one line per 
statement, like N-Triples, but does N3-style prefixing.
+        *                      <li>
+        *                              <js>"TURTLE"</js> -  Turtle writer.
+        *                              http://www.dajobe.org/2004/01/turtle/
+        *               </ul>
         *      <li>
-        *              <js>"N3-TRIPLES"</js> - Name of the N3 triples writer.
-        *              This writer writes one line per statement, like 
N-Triples, but does N3-style prefixing.
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
         *      <li>
-        *              <js>"TURTLE"</js> -  Turtle writer.
-        *              http://www.dajobe.org/2004/01/turtle/
+        *              A default global value can be set via the system 
property <js>"Rdf.language.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -86,6 +93,14 @@ public @interface RdfConfig {
        /**
         * Configuration property:  XML namespace for Juneau properties.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.juneauNs.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link RdfCommon#RDF_juneauNs}
@@ -96,6 +111,14 @@ public @interface RdfConfig {
        /**
         * Configuration property:  Default XML namespace for bean properties.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.juneauBpNs.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link RdfCommon#RDF_juneauBpNs}
@@ -109,19 +132,26 @@ public @interface RdfConfig {
         * <p>
         * Set the engine for checking and resolving.
         *
-        * <p>
-        * Possible values:
+        * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
         *      <li>
-        *              <js>"lax"</js> - The rules for RDF URI references only, 
which does permit spaces although the use of spaces
-        *              is not good practice.
+        *              Possible values:
+        *              <ul class='spaced-list'>
+        *                      <li>
+        *                              <js>"lax"</js> - The rules for RDF URI 
references only, which does permit spaces although the use of spaces
+        *                              is not good practice.
+        *                      <li>
+        *                              <js>"strict"</js> - Sets the IRI engine 
with rules for valid IRIs, XLink and RDF; it does not permit spaces
+        *                              in IRIs.
+        *                      <li>
+        *                              <js>"iri"</js> - Sets the IRI engine to 
IRI
+        *                              ({@doc 
http://www.ietf.org/rfc/rfc3986.txt RFC 3986},
+        *                              {@doc 
http://www.ietf.org/rfc/rfc3987.txt RFC 3987}).
+        *              </ul>
         *      <li>
-        *              <js>"strict"</js> - Sets the IRI engine with rules for 
valid IRIs, XLink and RDF; it does not permit spaces
-        *              in IRIs.
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
         *      <li>
-        *              <js>"iri"</js> - Sets the IRI engine to IRI
-        *              ({@doc http://www.ietf.org/rfc/rfc3986.txt RFC 3986},
-        *              {@doc http://www.ietf.org/rfc/rfc3987.txt RFC 3987}).
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.iri-rules.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -137,16 +167,23 @@ public @interface RdfConfig {
         * <p>
         * This allows a coarse-grained approach to control of error handling.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"default"</js>
-        *      <li><js>"lax"</js>
-        *      <li><js>"strict"</js>
-        *      <li><js>"strict-ignore"</js>
-        *      <li><js>"strict-warning"</js>
-        *      <li><js>"strict-error"</js>
-        *      <li><js>"strict-fatal"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"default"</js>
+        *                      <li><js>"lax"</js>
+        *                      <li><js>"strict"</js>
+        *                      <li><js>"strict-ignore"</js>
+        *                      <li><js>"strict-warning"</js>
+        *                      <li><js>"strict-error"</js>
+        *                      <li><js>"strict-fatal"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.error-mode.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -170,6 +207,14 @@ public @interface RdfConfig {
         * <p>
         * Sets ARP to look for RDF embedded within an enclosing XML document.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.embedding.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_arp_embedding}
@@ -185,6 +230,14 @@ public @interface RdfConfig {
         * <p>
         * The value to be included for an <xa>xml:base</xa> attribute on the 
root element in the file.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.xmlbase.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_rdfxml_xmlBase}
@@ -197,7 +250,15 @@ public @interface RdfConfig {
         *
         * <p>
         * Whether to use long ID's for anon resources.
-        * Short ID's are easier to read, but can run out of memory on very 
large models.
+        * <br>Short ID's are easier to read, but can run out of memory on very 
large models.
+        *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.longId.b"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
@@ -212,6 +273,14 @@ public @interface RdfConfig {
         * <p>
         * URIs in the graph are, by default, checked prior to serialization.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.allowBadURIs.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_rdfxml_allowBadUris}
@@ -247,6 +316,14 @@ public @interface RdfConfig {
         * To switch off relative URIs use the value <js>""</js>.
         * Relative URIs of any of these types are output where possible if and 
only if the option has been specified.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.relativeURIs.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_rdfxml_relativeUris}
@@ -257,17 +334,24 @@ public @interface RdfConfig {
        /**
         * Configuration property:  RDF/XML property: 
<code>showXmlDeclaration</code>.
         *
-        * <p>
-        * Possible values:
+        * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
         *      <li>
-        *              <js>"true"</js> - Add XML Declaration to the output.
+        *              Possible values:
+        *              <ul class='spaced-list'>
+        *                      <li>
+        *                              <js>"true"</js> - Add XML Declaration 
to the output.
+        *                      <li>
+        *                              <js>"false"</js> - Don't add XML 
Declaration to the output.
+        *                      <li>
+        *                              <js>"default"</js> - Only add an XML 
Declaration when asked to write to an <code>OutputStreamWriter</code>
+        *                              that uses some encoding other than 
<code>UTF-8</code> or <code>UTF-16</code>.
+        *                              In this case the encoding is shown in 
the XML declaration.
+        *              </ul>
         *      <li>
-        *              <js>"false"</js> - Don't add XML Declaration to the 
output.
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
         *      <li>
-        *              <js>"default"</js> - Only add an XML Declaration when 
asked to write to an <code>OutputStreamWriter</code>
-        *              that uses some encoding other than <code>UTF-8</code> 
or <code>UTF-16</code>.
-        *              In this case the encoding is shown in the XML 
declaration.
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.showXmlDeclaration.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -282,10 +366,18 @@ public @interface RdfConfig {
         *
         * <p>
         * If true, an XML doctype declaration is included in the output.
-        * This declaration includes a <code>!ENTITY</code> declaration for 
each prefix mapping in the model, and any
+        * <br>This declaration includes a <code>!ENTITY</code> declaration for 
each prefix mapping in the model, and any
         * attribute value that starts with the URI of that mapping is written 
as starting with the corresponding entity
         * invocation.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.showDoctypeDeclaration"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link 
RdfCommon#RDF_rdfxml_showDoctypeDeclaration}
@@ -299,6 +391,14 @@ public @interface RdfConfig {
         * <p>
         * The number of spaces with which to indent XML child elements.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.tab.i"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_rdfxml_tab}
@@ -312,6 +412,14 @@ public @interface RdfConfig {
         * <p>
         * The XML attribute quote character.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.attributeQuoteChar.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_rdfxml_attributeQuoteChar}
@@ -327,6 +435,14 @@ public @interface RdfConfig {
         * {@doc http://www.w3.org/TR/rdf-syntax-grammar RDF Syntax Grammar} 
indicating grammar
         * rules that will not be used.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.rdfXml.blockRules.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_rdfxml_blockRules}
@@ -340,6 +456,14 @@ public @interface RdfConfig {
         * <p>
         * Minimum gap between items on a line.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.minGap.i"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_minGap}
@@ -353,6 +477,14 @@ public @interface RdfConfig {
         * <p>
         * Print object lists as comma separated lists.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.objectLists.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_objectLists}
@@ -366,6 +498,14 @@ public @interface RdfConfig {
         * <p>
         * If the subject is shorter than this value, the first property may go 
on the same line.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.subjectColumn.i"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_subjectColumn}
@@ -379,6 +519,14 @@ public @interface RdfConfig {
         * <p>
         * Width of the property column.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.propertyColumn.i"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_propertyColumn}
@@ -392,6 +540,14 @@ public @interface RdfConfig {
         * <p>
         * Width to indent properties.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.indentProperty.i"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_indentProperty}
@@ -406,6 +562,14 @@ public @interface RdfConfig {
         * Width of the property column.
         * <br>Must be longer than <code>propertyColumn</code>.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.widePropertyLen.i"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_widePropertyLen}
@@ -419,6 +583,14 @@ public @interface RdfConfig {
         * <p>
         * Control whether to use abbreviations <code>&lt;&gt;</code> or 
<code>&lt;#&gt;</code>.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.abbrevBaseURI.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_abbrevBaseUri}
@@ -432,6 +604,14 @@ public @interface RdfConfig {
         * <p>
         * Control whether to use <code>a</code>, <code>=</code> and 
<code>=&gt;</code> in output
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.usePropertySymbols.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_usePropertySymbols}
@@ -445,6 +625,14 @@ public @interface RdfConfig {
         * <p>
         * Allow the use of <code>"""</code> to delimit long strings.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.useTripleQuotedStrings.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_useTripleQuotedStrings}
@@ -458,6 +646,14 @@ public @interface RdfConfig {
         * <p>
         * Allow the use doubles as <code>123.456</code>.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.jena.n3.useDoubles.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_n3_useDoubles}
@@ -468,26 +664,29 @@ public @interface RdfConfig {
        /**
         * Configuration property:  RDF format for representing collections and 
arrays.
         *
-        * <p>
-        * Possible values:
-        * <ul class='spaced-list'>
-        *      <li>
-        *              <js>"DEFAULT"</js> - Default format.  The default is an 
RDF Sequence container.
-        *      <li>
-        *              <js>"SEQ"</js> - RDF Sequence container.
-        *      <li>
-        *              <js>"BAG"</js> - RDF Bag container.
-        *      <li>
-        *              <js>"LIST"</js> - RDF List container.
-        *      <li>
-        *              <js>"MULTI_VALUED"</js> - Multi-valued properties.
-        * </ul>
-        *
         * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
         *      <li>
+        *              Possible values:
+        *              <ul class='spaced-list'>
+        *                      <li>
+        *                              <js>"DEFAULT"</js> - Default format.  
The default is an RDF Sequence container.
+        *                      <li>
+        *                              <js>"SEQ"</js> - RDF Sequence container.
+        *                      <li>
+        *                              <js>"BAG"</js> - RDF Bag container.
+        *                      <li>
+        *                              <js>"LIST"</js> - RDF List container.
+        *                      <li>
+        *                              <js>"MULTI_VALUED"</js> - Multi-valued 
properties.
+        *               </ul>
+        *      <li>
         *              If you use <js>"BAG"</js> or <js>"MULTI_VALUED"</js>, 
the order of the elements in the collection will get
         *              lost.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.collectionFormat.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -513,6 +712,14 @@ public @interface RdfConfig {
         * This setting is typically only useful if the beans being parsed into 
do not have a bean property
         * annotated with {@link Rdf#beanUri @Rdf(beanUri=true)}.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.looseCollections.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfCommon#RDF_looseCollections}
@@ -530,6 +737,14 @@ public @interface RdfConfig {
         * <p>
         * If <js>"true"</js>, whitespace in text elements will be 
automatically trimmed.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"RdfParser.trimWhitespace.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfParser#RDF_trimWhitespace}
@@ -551,6 +766,14 @@ public @interface RdfConfig {
         * When present, this value overrides the {@link 
Serializer#SERIALIZER_addBeanTypes} setting and is
         * provided to customize the behavior of specific serializers in a 
{@link SerializerGroup}.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"RdfSerializer.addBeanTypes.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfSerializer#RDF_addBeanTypes}
@@ -561,6 +784,14 @@ public @interface RdfConfig {
        /**
         * Configuration property:  Add XSI data types to 
non-<code>String</code> literals.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"RdfSerializer.addLiteralTypes.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfSerializer#RDF_addLiteralTypes}
@@ -580,6 +811,14 @@ public @interface RdfConfig {
         * If disabled, the parser has to search through the model to find any 
resources without incoming predicates to
         * identify root notes, which can introduce a considerable performance 
degradation.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"RdfSerializer.addRootProperty.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfSerializer#RDF_addRootProperty}
@@ -597,6 +836,14 @@ public @interface RdfConfig {
         * If enabled, then the data structure will first be crawled looking 
for namespaces that will be encountered before
         * the root element is serialized.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"RdfSerializer.autoDetectNamespaces.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfSerializer#RDF_autoDetectNamespaces}
@@ -610,6 +857,14 @@ public @interface RdfConfig {
         * <p>
         * The default list of namespaces associated with this serializer.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"RdfSerializer.namespaces.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul class='spaced-list'>
         *      <li class='jf'>{@link RdfSerializer#RDF_namespaces}
@@ -624,11 +879,18 @@ public @interface RdfConfig {
         * When specified, namespaces defined using {@link XmlNs @XmlNs} and 
{@link Xml @Xml} will be inherited by the RDF serializers.
         * <br>Otherwise, namespaces will be defined using {@link RdfNs @RdfNs} 
and {@link Rdf @Rdf}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Rdf.useXmlNamespaces.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
index 1a8c454..a46b3ba 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfig.java
@@ -53,13 +53,20 @@ public @interface BeanConfig {
         * will not be interpreted as a bean class and be serialized as a 
string.
         * <br>Use this setting to reduce the visibility requirement.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"PUBLIC"</js> (default)
-        *      <li><js>"PROTECTED"</js>
-        *      <li><js>"DEFAULT"</js>
-        *      <li><js>"PRIVATE"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"PUBLIC"</js> (default)
+        *                      <li><js>"PROTECTED"</js>
+        *                      <li><js>"DEFAULT"</js>
+        *                      <li><js>"PRIVATE"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beanClassVisibility.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -80,13 +87,20 @@ public @interface BeanConfig {
         * <br>Normally, only <jk>public</jk> no-arg constructors are used.
         * <br>Use this setting if you want to reduce the visibility 
requirement.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"PUBLIC"</js> (default)
-        *      <li><js>"PROTECTED"</js>
-        *      <li><js>"DEFAULT"</js>
-        *      <li><js>"PRIVATE"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"PUBLIC"</js> (default)
+        *                      <li><js>"PROTECTED"</js>
+        *                      <li><js>"DEFAULT"</js>
+        *                      <li><js>"PRIVATE"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beanConstructorVisibility.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -151,13 +165,20 @@ public @interface BeanConfig {
         * <br>Normally only <jk>public</jk> fields are considered.
         * <br>Use this setting if you want to reduce the visibility 
requirement.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"PUBLIC"</js> (default)
-        *      <li><js>"PROTECTED"</js>
-        *      <li><js>"DEFAULT"</js>
-        *      <li><js>"PRIVATE"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"PUBLIC"</js> (default)
+        *                      <li><js>"PROTECTED"</js>
+        *                      <li><js>"DEFAULT"</js>
+        *                      <li><js>"PRIVATE"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beanFieldVisibility.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -175,15 +196,18 @@ public @interface BeanConfig {
         * <br>It's useful when you want to use the <code>@Bean</code> 
annotation functionality, but you don't have the ability to alter
         * the bean classes.
         *
-        * <p>
-        * Values can consist of any of the following types:
+        * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
-        *      <li>Any subclass of {@link BeanFilterBuilder}.
-        *              <br>These must have a public no-arg constructor.
-        *      <li>Any bean interfaces.
-        *              <br>A shortcut for defining a {@link 
InterfaceBeanFilterBuilder}.
-        *              <br>Any subclasses of an interface class will only have 
properties defined on the interface.
-        *              All other bean properties will be ignored.
+        *      <li>
+        *              Values can consist of any of the following types:
+        *              <ul class='spaced-list'>
+        *                      <li>Any subclass of {@link BeanFilterBuilder}.
+        *                              <br>These must have a public no-arg 
constructor.
+        *                      <li>Any bean interfaces.
+        *                              <br>A shortcut for defining a {@link 
InterfaceBeanFilterBuilder}.
+        *                              <br>Any subclasses of an interface 
class will only have properties defined on the interface.
+        *                              <br>All other bean properties will be 
ignored.
+        *              </ul>
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -223,11 +247,18 @@ public @interface BeanConfig {
         * values.
         * <br>Otherwise, it returns <jk>null</jk>.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default because it introduces a slight 
performance penalty during serialization)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default because it 
introduces a slight performance penalty during serialization)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beanMapPutReturnsOldValue.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -248,13 +279,20 @@ public @interface BeanConfig {
         * <br>Normally only <jk>public</jk> getters and setters are considered.
         * <br>Use this setting if you want to reduce the visibility 
requirement.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"PUBLIC"</js> (default)
-        *      <li><js>"PROTECTED"</js>
-        *      <li><js>"DEFAULT"</js>
-        *      <li><js>"PRIVATE"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"PUBLIC"</js> (default)
+        *                      <li><js>"PROTECTED"</js>
+        *                      <li><js>"DEFAULT"</js>
+        *                      <li><js>"PRIVATE"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beanMethodVisibility.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -271,16 +309,22 @@ public @interface BeanConfig {
         * If <js>"true"</js>, a Java class must implement a default no-arg 
constructor to be considered a bean.
         * <br>Otherwise, the bean will be serialized as a string using the 
{@link Object#toString()} method.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              The {@link Bean @Bean} annotation can be used on a 
class to override this setting when <js>"true"</js>.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beansRequireDefaultConstructor.b"</js>.
         * </ul>
         *
-        * <p>
-        * The {@link Bean @Bean} annotation can be used on a class to override 
this setting when <js>"true"</js>.
-        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link 
BeanContext#BEAN_beansRequireDefaultConstructor}
@@ -295,16 +339,22 @@ public @interface BeanConfig {
         * If <js>"true"</js>, a Java class must implement the {@link 
Serializable} interface to be considered a bean.
         * <br>Otherwise, the bean will be serialized as a string using the 
{@link Object#toString()} method.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              The {@link Bean @Bean} annotation can be used on a 
class to override this setting when <js>"true"</js>.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beansRequireSerializable.b"</js>.
         * </ul>
         *
-        * <p>
-        * The {@link Bean @Bean} annotation can be used on a class to override 
this setting when <js>"true"</js>.
-        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_beansRequireSerializable}
@@ -319,11 +369,18 @@ public @interface BeanConfig {
         * If <js>"true"</js>, only getters that have equivalent setters will 
be considered as properties on a bean.
         * <br>Otherwise, they will be ignored.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beansRequireSettersForGetters.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -340,16 +397,20 @@ public @interface BeanConfig {
         * If <js>"true"</js>, then a Java class must contain at least 1 
property to be considered a bean.
         * <br>Otherwise, the bean will be serialized as a string using the 
{@link Object#toString()} method.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beansRequireSomeProperties.b"</js>.
         * </ul>
         *
-        * <p>
-        * The {@link Bean @Bean} annotation can be used on a class to override 
this setting when <js>"true"</js>.
-        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link 
BeanContext#BEAN_beansRequireSomeProperties}
@@ -364,9 +425,16 @@ public @interface BeanConfig {
         * This specifies the name of the bean property used to store the 
dictionary name of a bean type so that the
         * parser knows the data type to reconstruct.
         *
-        * <p>
-        * The default value is <js>"_type"</js>.
-        *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Default value: <js>"_type"</js>.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.beanTypePropertyName.s"</js>.
+        * </ul>
+
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_beanTypePropertyName}
@@ -426,6 +494,10 @@ public @interface BeanConfig {
         *      bpi={<js>"Bean1: foo"</js>,<js>"Bean2: bar,baz"</js>}
         *      bpi=<js>"Bean1: foo; Bean2: bar,baz"</js>
         *              </p>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.properties.sms"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -485,6 +557,10 @@ public @interface BeanConfig {
         *      bpx={<js>"Bean1: foo"</js>,<js>"Bean2: bar,baz"</js>}
         *      bpx=<js>"Bean1: foo; Bean2: bar,baz"</js>
         *              </p>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.excludeProperties.sms"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -515,11 +591,18 @@ public @interface BeanConfig {
         *              in order to determine how that method was invoked.
         * </ul>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.debug.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -538,13 +621,6 @@ public @interface BeanConfig {
         * <p>
         * Examples are used in cases such as POJO examples in Swagger 
documents.
         *
-        * <p>
-        * Setting applies to specified class and all subclasses.
-        *
-        * <p>
-        * Keys are the class of the example.
-        * <br>Values are Simple-JSON representation of that class.
-        *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
         *      <ja>@BeanConfig</ja>(
@@ -552,13 +628,26 @@ public @interface BeanConfig {
         *                      <ja>@CSEntry</ja>(key=MyBean.<jk>class</jk>, 
value=<js>"{foo:'bar'}"</js>)
         *              }
         *      )
-        * <p>
+        * </p>
         *
-        * POJO examples can also be defined on classes via the following:
+        * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
-        *      <li>A static field annotated with {@link Example @Example}.
-        *      <li>A static method annotated with {@link Example @Example} 
with zero arguments or one {@link BeanSession} argument.
-        *      <li>A static method with name <code>example</code> with no 
arguments or one {@link BeanSession} argument.
+        *      <li>
+        *              Setting applies to specified class and all subclasses.
+        *      <li>
+        *              Keys are the class of the example.
+        *              <br>Values are Simple-JSON representation of that class.
+        *      <li>
+        *              POJO examples can also be defined on classes via the 
following:
+        *              <ul class='spaced-list'>
+        *                      <li>A static field annotated with {@link 
Example @Example}.
+        *                      <li>A static method annotated with {@link 
Example @Example} with zero arguments or one {@link BeanSession} argument.
+        *                      <li>A static method with name 
<code>example</code> with no arguments or one {@link BeanSession} argument.
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.examples.smo"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -574,14 +663,6 @@ public @interface BeanConfig {
         * <p>
         * Same as {@link #example()} but allows you to define examples as a 
Simple-JSON string.
         *
-        * <p>
-        * Keys are the class of the example and can be the fully-qualified 
name or simple name.
-        * <br>Values are Simple-JSON representation of that class.
-        *
-        * <p>
-        * The individual strings are concatenated together and the whole 
string is treated as a JSON Object.
-        * <br>The leading and trailing <js>'{'</js> and <js>'}'</js> 
characters are optional.
-        *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
         *      <ja>@BeanConfig</ja>(
@@ -589,7 +670,21 @@ public @interface BeanConfig {
         *                      <js>"MyBean: {foo:'bar'}"</js>  <jc>// Could 
also be "{MyBean: {foo:'bar'}}"</jc>
         *              }
         *      )
-        * <p>
+        * </p>
+        *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Keys are the class of the example and can be the 
fully-qualified name or simple name.
+        *              <br>Values are Simple-JSON representation of that class.
+        *      <li>
+        *              The individual strings are concatenated together and 
the whole string is treated as a JSON Object.
+        *              <br>The leading and trailing <js>'{'</js> and 
<js>'}'</js> characters are optional.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.examples.smo"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -604,13 +699,6 @@ public @interface BeanConfig {
         * <p>
         * Specifies to exclude the specified list of properties for the 
specified bean class.
         *
-        * <p>
-        * Keys are the class applied to.
-        * <br>Values are comma-delimited lists of property names.
-        *
-        * <p>
-        * Setting applies to specified class and all subclasses.
-        *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
         *      <ja>@BeanConfig</ja>(
@@ -620,6 +708,19 @@ public @interface BeanConfig {
         *      )
         * <p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Keys are the class applied to.
+        *              <br>Values are comma-delimited lists of property names.
+        *      <li>
+        *              Setting applies to specified class and all subclasses.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.excludeProperties.sms"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_excludeProperties}
@@ -642,11 +743,18 @@ public @interface BeanConfig {
         *      <li>Return the bean itself.
         * </ul>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.fluentSetters.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -663,11 +771,18 @@ public @interface BeanConfig {
         * If <js>"true"</js>, errors thrown when calling bean getter methods 
will silently be ignored.
         * <br>Otherwise, a {@code BeanRuntimeException} is thrown.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.ignoreInvocationExceptionsOnGetters.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -684,11 +799,18 @@ public @interface BeanConfig {
         * If <js>"true"</js>, errors thrown when calling bean setter methods 
will silently be ignored.
         * <br>Otherwise, a {@code BeanRuntimeException} is thrown.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.ignoreInvocationExceptionsOnSetters.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -705,11 +827,18 @@ public @interface BeanConfig {
         * If <js>"true"</js>, trying to set a value on a bean property without 
a setter will silently be ignored.
         * <br>Otherwise, a {@code RuntimeException} is thrown.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.ignorePropertiesWithoutSetters.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -726,11 +855,18 @@ public @interface BeanConfig {
         * If <js>"true"</js>, trying to set a value on a non-existent bean 
property will silently be ignored.
         * <br>Otherwise, a {@code RuntimeException} is thrown.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.ignoreUnknownBeanProperties.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -747,11 +883,18 @@ public @interface BeanConfig {
         * If <js>"true"</js>, trying to set a <jk>null</jk> value on a 
non-existent bean property will silently be ignored.
         * <br>Otherwise, a {@code RuntimeException} is thrown.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.ignoreUnknownNullBeanProperties.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -791,13 +934,6 @@ public @interface BeanConfig {
         * <p>
         * Specifies the set and order of names of properties associated with 
the bean class.
         *
-        * <p>
-        * Keys are the class applied to.
-        * <br>Values are comma-delimited lists of property names.
-        *
-        * <p>
-        * Setting applies to specified class and all subclasses.
-        *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
         *      <ja>@BeanConfig</ja>(
@@ -807,6 +943,19 @@ public @interface BeanConfig {
         *      )
         * <p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Keys are the class applied to.
+        *              <br>Values are comma-delimited lists of property names.
+        *      <li>
+        *              Setting applies to specified class and all subclasses.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.properties.sms"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_includeProperties}
@@ -820,6 +969,14 @@ public @interface BeanConfig {
         * <p>
         * Specifies the default locale for serializer and parser sessions.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.locale.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_locale}
@@ -833,6 +990,14 @@ public @interface BeanConfig {
         * <p>
         * Specifies the default media type value for serializer and parser 
sessions.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.mediaType.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_mediaType}
@@ -847,6 +1012,14 @@ public @interface BeanConfig {
         * List of classes that should not be treated as beans even if they 
appear to be bean-like.
         * <br>Not-bean classes are converted to <code>Strings</code> during 
serialization.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.notBeanClasses.sc"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_notBeanClasses}
@@ -886,22 +1059,29 @@ public @interface BeanConfig {
         * <p>
         * Note that you can specify suffix patterns to include all subpackages.
         *
-        * <p>
-        * The default value excludes the following packages:
-        *      <ul>
-        *              <li><code>java.lang</code>
-        *              <li><code>java.lang.annotation</code>
-        *              <li><code>java.lang.ref</code>
-        *              <li><code>java.lang.reflect</code>
-        *              <li><code>java.io</code>
-        *              <li><code>java.net</code>
-        *              <li><code>java.nio.*</code>
-        *              <li><code>java.util.*</code>
-        *      </ul>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              The default value excludes the following packages:
+        *              <ul>
+        *                      <li><code>java.lang</code>
+        *                      <li><code>java.lang.annotation</code>
+        *                      <li><code>java.lang.ref</code>
+        *                      <li><code>java.lang.reflect</code>
+        *                      <li><code>java.io</code>
+        *                      <li><code>java.net</code>
+        *                      <li><code>java.nio.*</code>
+        *                      <li><code>java.util.*</code>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.notBeanPackages.ss"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
-        *      <li class='jf'>{@link BeanContext#BEAN_notBeanClasses}
+        *      <li class='jf'>{@link BeanContext#BEAN_notBeanPackages}
         * </ul>
         */
        String[] notBeanPackages() default {};
@@ -1009,11 +1189,18 @@ public @interface BeanConfig {
         * to force bean properties to be in a particular order and can just 
alter the order of the fields/methods
         * in the Java file.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.sortProperties.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -1029,6 +1216,14 @@ public @interface BeanConfig {
         * <p>
         * Specifies the default timezone for serializer and parser sessions.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.timeZone.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link BeanContext#BEAN_timeZone}
@@ -1042,11 +1237,18 @@ public @interface BeanConfig {
         * <p>
         * When enabled, enums are always serialized by name, not using {@link 
Object#toString()}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.useEnumNames.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -1064,11 +1266,18 @@ public @interface BeanConfig {
         * {@link InvocationHandler} if there is no other way of instantiating 
them.
         * <br>Otherwise, throws a {@link BeanRuntimeException}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.useInterfaceProxies.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -1085,11 +1294,18 @@ public @interface BeanConfig {
         * Using the built-in Java bean introspector will not pick up fields or 
non-standard getters/setters.
         * <br>Most {@link Bean @Bean} annotations will be ignored.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanContext.useJavaBeanIntrospector.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -1110,13 +1326,6 @@ public @interface BeanConfig {
         * Specifies that recursions should be checked for during traversal.
         *
         * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
-        * </ul>
-        *
-        * <p>
         * Recursions can occur when traversing models that aren't true trees 
but rather contain loops.
         * <br>In general, unchecked recursions cause stack-overflow-errors.
         * <br>These show up as {@link ParseException ParseExceptions} with the 
message <js>"Depth too deep.  Stack overflow occurred."</js>.
@@ -1136,6 +1345,16 @@ public @interface BeanConfig {
         * <ul class='spaced-list'>
         *      <li>
         *              Checking for recursion can cause a small performance 
penalty.
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanTraverseContext.detectRecursions.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -1153,16 +1372,23 @@ public @interface BeanConfig {
         * <br>Setting is ignored if <jsf>BEANTRAVERSE_detectRecursions</jsf> 
is <js>"false"</js>.
         *
         * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
-        * </ul>
-        *
-        * <p>
         * If <js>"true"</js>, when we encounter the same object when 
traversing a tree, we set the value to <jk>null</jk>.
         * <br>Otherwise, a {@link BeanRecursionException} is thrown with the 
message <js>"Recursion occurred, stack=..."</js>.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanTraverseContext.ignoreRecursions.b"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link 
BeanTraverseContext#BEANTRAVERSE_ignoreRecursions}
@@ -1177,9 +1403,17 @@ public @interface BeanConfig {
         * The initial indentation level at the root.
         * <br>Useful when constructing document fragments that need to be 
indented at a certain level.
         *
-        * <p>
-        * Format is an integer.
-        * <br>The default value is <js>"0"</js>.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: integer
+        *      <li>
+        *              Default value: <js>"0"</js>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanTraverseContext.initialDepth.i"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -1195,9 +1429,17 @@ public @interface BeanConfig {
         * Abort traversal if specified depth is reached in the POJO tree.
         * <br>If this depth is exceeded, an exception is thrown.
         *
-        * <p>
-        * Format is an integer.
-        * <br>The default value is <js>"100"</js>.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: integer
+        *      <li>
+        *              Default value: <js>"100"</js>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"BeanTraverseContext.maxDepth.i"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
index 2cc93e0..e231f0e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializer.java
@@ -192,7 +192,7 @@ public class HtmlDocSerializer extends 
HtmlStrippedDocSerializer {
         *
         * <h5 class='section'>Property:</h5>
         * <ul>
-        *      <li><b>Name:</b>  <js>"HtmlDocSerializer.ls"</js>
+        *      <li><b>Name:</b>  <js>"HtmlDocSerializer.header.ls"</js>
         *      <li><b>Data type:</b>  <code>List&lt;String&gt;</code>
         *      <li><b>Default:</b>  empty list
         *      <li><b>Session property:</b>  <jk>true</jk>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
index a2c7c07..5de8171 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfig.java
@@ -51,11 +51,18 @@ public @interface HtmlConfig {
         * When present, this value overrides the {@link 
#SERIALIZER_addBeanTypes} setting and is
         * provided to customize the behavior of specific serializers in a 
{@link SerializerGroup}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlSerializer.addBeanTypes.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -96,11 +103,18 @@ public @interface HtmlConfig {
         *      </tr>
         * </table>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlSerializer.addKeyValueTableHeaders.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -141,11 +155,18 @@ public @interface HtmlConfig {
         *      </tr>
         * </table>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlSerializer.detectLinksInStrings.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -161,8 +182,15 @@ public @interface HtmlConfig {
         * <p>
         * The parameter name to look for when resolving link labels via {@link 
#HTML_detectLabelParameters}.
         *
-        * <p>
-        * The default value is <js>"label"</js>.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Default value: <js>"label"</js>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlSerializer.labelParameter.s"</js>.
+        * </ul>
         *
         * <h5 class=''>See Also:</h5>
         * <ul>
@@ -205,11 +233,18 @@ public @interface HtmlConfig {
         *      </tr>
         * </table>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlSerializer.detectLabelParameters.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -226,17 +261,24 @@ public @interface HtmlConfig {
         * When creating anchor tags (e.g. <code><xt>&lt;a</xt> 
<xa>href</xa>=<xs>'...'</xs>
         * <xt>&gt;</xt>text<xt>&lt;/a&gt;</xt></code>) in HTML, this setting 
defines what to set the inner text to.
         *
-        * <p>
-        * The possible values are:
-        * <ul>
-        *      <li><js>"TO_STRING"</js> - Set to whatever is returned by 
{@link #toString()} on the object.
-        *      <li><js>"PROPERTY_NAME"</js> - Set to the bean property name.
-        *      <li><js>"URI"</js> - Set to the URI value.
-        *      <li><js>"LAST_TOKEN"</js> - Set to the last token of the URI 
value.
-        *      <li><js>"URI_ANCHOR"</js> - Set to the anchor of the URL.
-        *      <li><js>"CONTEXT_RELATIVE"</js> - Same as <js>"TO_STRING"</js> 
but assumes it's a context-relative path.
-        *      <li><js>"SERVLET_RELATIVE"</js> - Same as <js>"TO_STRING"</js> 
but assumes it's a servlet-relative path.
-        *      <li><js>"PATH_RELATIVE"</js> - Same as <js>"TO_STRING"</js> but 
assumes it's a path-relative path.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"TO_STRING"</js> - Set to whatever is 
returned by {@link #toString()} on the object.
+        *                      <li><js>"PROPERTY_NAME"</js> - Set to the bean 
property name.
+        *                      <li><js>"URI"</js> - Set to the URI value.
+        *                      <li><js>"LAST_TOKEN"</js> - Set to the last 
token of the URI value.
+        *                      <li><js>"URI_ANCHOR"</js> - Set to the anchor 
of the URL.
+        *                      <li><js>"CONTEXT_RELATIVE"</js> - Same as 
<js>"TO_STRING"</js> but assumes it's a context-relative path.
+        *                      <li><js>"SERVLET_RELATIVE"</js> - Same as 
<js>"TO_STRING"</js> but assumes it's a servlet-relative path.
+        *                      <li><js>"PATH_RELATIVE"</js> - Same as 
<js>"TO_STRING"</js> but assumes it's a path-relative path.
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlSerializer.uriAnchorText.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
index 6a5594f..0b5d54c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlDocConfig.java
@@ -12,8 +12,6 @@
 // 
***************************************************************************************************************************
 package org.apache.juneau.html.annotation;
 
-import static org.apache.juneau.html.HtmlDocSerializer.*;
-
 import static java.lang.annotation.ElementType.*;
 import static java.lang.annotation.RetentionPolicy.*;
 
@@ -49,9 +47,6 @@ public @interface HtmlDocConfig {
         * The aside section floats on the right of the page for providing 
content supporting the serialized content of
         * the page.
         *
-        * <p>
-        * By default, the aside section is empty.
-        *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
         *      <ja>@HtmlDocConfig</ja>(
@@ -65,6 +60,28 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: HTML
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (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>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.aside.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_aside}
@@ -78,9 +95,6 @@ public @interface HtmlDocConfig {
         * <p>
         * Allows you to specify the contents of the footer section on the HTML 
page.
         *
-        * <p>
-        * By default, the footer section is empty.
-        *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
         *      <ja>@HtmlDocConfig</ja>(
@@ -90,6 +104,28 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: HTML
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (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>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.footer.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_footer}
@@ -112,6 +148,26 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: HTML
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (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>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.head.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_head}
@@ -135,6 +191,28 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: 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 DefaultRestSvlVariables}
+        *              (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>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class if not overridden.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.header.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_header}
@@ -158,8 +236,29 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
-        * <p>
-        * When this property is specified, the {@link #HTMLDOC_navlinks} 
property is ignored.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: HTML
+        *      <li>
+        *              When {@link #navlinks()} is also specified, this 
content is placed AFTER the navigation links.
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (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>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.nav.ls"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -204,6 +303,28 @@ public @interface HtmlDocConfig {
         *      <jk>public class</jk> AddressBookResource <jk>extends</jk> 
BasicRestServletJena {
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (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 juneau-marshall.URIs} (e.g. 
<js>"servlet:/..."</js>, <js>"request:/..."</js>).
+        *      <li>
+        *              On methods, this value is inherited from the 
<ja>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.navlinks.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_navlinks}
@@ -224,8 +345,18 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
-        * <p>
-        * A value of <js>"NONE"</js> can be used to represent no value to 
differentiate it from an empty string.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: HTML
+        *      <li>
+        *              A value of <js>"NONE"</js> can be used to represent no 
value to differentiate it from an empty string.
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (e.g. <js>"$L{my.localized.variable}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.noResultsMessage.s"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -240,11 +371,19 @@ public @interface HtmlDocConfig {
         * <p>
         * Adds <js>"* {white-space:nowrap}"</js> to the CSS instructions on 
the page to prevent word wrapping.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (e.g. <js>"$L{my.localized.variable}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.nowrap.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -268,6 +407,28 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: Javascript
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (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>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.script.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_script}
@@ -290,6 +451,28 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: CSS
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (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>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.style.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_style}
@@ -306,6 +489,22 @@ public @interface HtmlDocConfig {
         * <p>
         * Note that this stylesheet is controlled by the 
<code><ja>@RestResource</ja>.stylesheet()</code> annotation.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: URL
+        *      <li>
+        *              Supports {@doc DefaultRestSvlVariables}
+        *              (e.g. <js>"$L{my.localized.variable}"</js>).
+        *      <li>
+        *              On methods, this value is inherited from the 
<ja>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"HtmlDocSerializer.stylesheet.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_stylesheet}
@@ -330,6 +529,15 @@ public @interface HtmlDocConfig {
         *      )
         * </p>
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              On methods, this value is inherited from the 
<ja>@HtmlDocConfig</ja> annotation on the servlet/resource class.
+        *      <li>
+        *              On servlet/resource classes, this value is inherited 
from the <ja>@HtmlDocConfig</ja> annotation on the
+        *              parent class.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link HtmlDocSerializer#HTMLDOC_template}
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
index d999d82..f5de401 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/annotation/JsonConfig.java
@@ -47,11 +47,18 @@ public @interface JsonConfig {
         * If <js>"true"</js>, after parsing a POJO from the input, verifies 
that the remaining input in
         * the stream consists of only comments or whitespace.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonParser.validateEnd.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -76,11 +83,18 @@ public @interface JsonConfig {
         * When present, this value overrides the {@link 
#SERIALIZER_addBeanTypes} setting and is
         * provided to customize the behavior of specific serializers in a 
{@link SerializerGroup}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSerializer.addBeanTypes.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -99,11 +113,18 @@ public @interface JsonConfig {
         * <br>However, if you're embedding JSON in an HTML script tag, this 
setting prevents confusion when trying to serialize
         * <xt>&lt;\/script&gt;</xt>.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSerializer.escapeSolidus.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -135,11 +156,18 @@ public @interface JsonConfig {
         *              </p>
         * </ol>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSerializer.simpleMode.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
index caff6f5..bc597d9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/annotation/JsonSchemaConfig.java
@@ -49,19 +49,25 @@ public @interface JsonSchemaConfig {
         * <p>
         * The description is the result of calling {@link 
ClassMeta#getFullName()}.
         *
-        * <p>
-        * The format is a comma-delimited list of any of the following values:
-        *
-        * <ul class='doctree'>
-        *      <li><js>"BEAN"</js>
-        *      <li><js>"COLLECTION"</js>
-        *      <li><js>"ARRAY"</js>
-        *      <li><js>"MAP"</js>
-        *      <li><js>"STRING"</js>
-        *      <li><js>"NUMBER"</js>
-        *      <li><js>"BOOLEAN"</js>
-        *      <li><js>"ANY"</js>
-        *      <li><js>"OTHER"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              The format is a comma-delimited list of any of the 
following values:
+        *              <ul class='doctree'>
+        *                      <li><js>"BEAN"</js>
+        *                      <li><js>"COLLECTION"</js>
+        *                      <li><js>"ARRAY"</js>
+        *                      <li><js>"MAP"</js>
+        *                      <li><js>"STRING"</js>
+        *                      <li><js>"NUMBER"</js>
+        *                      <li><js>"BOOLEAN"</js>
+        *                      <li><js>"ANY"</js>
+        *                      <li><js>"OTHER"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSchemaGenerator.addDescriptionsTo.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -84,19 +90,25 @@ public @interface JsonSchemaConfig {
         *      <li class='jf'>{@link BeanContext#BEAN_examples}
         * </ul>
         *
-        * <p>
-        * The format is a comma-delimited list of any of the following values:
-        *
-        * <ul class='doctree'>
-        *      <li><js>"BEAN"</js>
-        *      <li><js>"COLLECTION"</js>
-        *      <li><js>"ARRAY"</js>
-        *      <li><js>"MAP"</js>
-        *      <li><js>"STRING"</js>
-        *      <li><js>"NUMBER"</js>
-        *      <li><js>"BOOLEAN"</js>
-        *      <li><js>"ANY"</js>
-        *      <li><js>"OTHER"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              The format is a comma-delimited list of any of the 
following values:
+        *              <ul class='doctree'>
+        *                      <li><js>"BEAN"</js>
+        *                      <li><js>"COLLECTION"</js>
+        *                      <li><js>"ARRAY"</js>
+        *                      <li><js>"MAP"</js>
+        *                      <li><js>"STRING"</js>
+        *                      <li><js>"NUMBER"</js>
+        *                      <li><js>"BOOLEAN"</js>
+        *                      <li><js>"ANY"</js>
+        *                      <li><js>"OTHER"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSchemaGenerator.addDescriptionsTo.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -112,11 +124,18 @@ public @interface JsonSchemaConfig {
         * <p>
         * Identifies whether nested descriptions are allowed in schema 
definitions.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSchemaGenerator.allowNestedDescriptions.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -132,11 +151,18 @@ public @interface JsonSchemaConfig {
         * <p>
         * Identifies whether nested examples are allowed in schema definitions.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSchemaGenerator.allowNestedExamples.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -155,8 +181,11 @@ public @interface JsonSchemaConfig {
         * <p>
         * Used primarily for defining common definition sections for beans in 
Swagger JSON.
         *
-        * <p>
-        * This setting is ignored if {@link #JSONSCHEMA_useBeanDefs} is not 
enabled.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              This setting is ignored if {@link 
#JSONSCHEMA_useBeanDefs} is not enabled.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -171,9 +200,16 @@ public @interface JsonSchemaConfig {
         * <p>
         * Allows you to override or provide custom schema information for 
particular class types.
         *
-        * <p>
-        * Keys are the class.
-        * <br>Values are Simple-JSON objects.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Keys are the class.
+        *              <br>Values are Simple-JSON objects.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSchemaGenerator.defaultSchema.smo"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -189,6 +225,15 @@ public @interface JsonSchemaConfig {
         * Defines class name patterns that should be ignored when generating 
schema definitions in the generated
         * Swagger documentation.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *              Format: Comma-delimited list of patterns
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSchemaGenerator.ignoreTypes.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link 
JsonSchemaGenerator#JSONSCHEMA_ignoreTypes}
@@ -214,11 +259,18 @@ public @interface JsonSchemaConfig {
         * <p>
         * Definitions can also be added programmatically using {@link 
JsonSchemaGeneratorSession#addBeanDef(String, ObjectMap)}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"JsonSchemaGenerator.useBeanDefs.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
index 62d6f7d..a5ef596 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/annotation/MsgPackConfig.java
@@ -51,11 +51,18 @@ public @interface MsgPackConfig {
         * When present, this value overrides the {@link 
#SERIALIZER_addBeanTypes} setting and is
         * provided to customize the behavior of specific serializers in a 
{@link SerializerGroup}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"MsgPackSerializer.addBeanTypes.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
index 518cc46..5d85834 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/annotation/ParserConfig.java
@@ -49,12 +49,19 @@ public @interface ParserConfig {
         * When using the {@link Parser#parse(Object,Class)} method on 
stream-based parsers and the input is a string, this defines the format to use
         * when converting the string into a byte array.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"SPACED_HEX"</js>
-        *      <li><js>"HEX"</js> (default)
-        *      <li><js>"BASE64"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"SPACED_HEX"</js>
+        *                      <li><js>"HEX"</js> (default)
+        *                      <li><js>"BASE64"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"InputStreamParser.binaryFormat.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -75,11 +82,18 @@ public @interface ParserConfig {
         * If <js>"true"</js>, <l>InputStreams</l> and <l>Readers</l> passed 
into parsers will be closed
         * after parsing is complete.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Parser.autoCloseStreams.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -96,6 +110,18 @@ public @interface ParserConfig {
         * When parse errors occur, this specifies the number of lines of input 
before and after the
         * error location to be printed as part of the exception message.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: integer
+        *      <li>
+        *              Default: 5
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Parser.debugOutputLines.i"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link Parser#PARSER_debugOutputLines}
@@ -150,11 +176,18 @@ public @interface ParserConfig {
         *      </tr>
         * </table>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Parser.strict.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -171,11 +204,18 @@ public @interface ParserConfig {
         * If <js>"true"</js>, string values will be trimmed of whitespace 
using {@link String#trim()} before being added to
         * the POJO.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Parser.trimStrings.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -196,7 +236,6 @@ public @interface ParserConfig {
         * because it may contain multiple independent POJOs to parse.
         * <br>Buffering would cause the parser to read past the current POJO 
in the stream.
         *
-        *
         * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
         *      <li>
@@ -211,13 +250,16 @@ public @interface ParserConfig {
         *                      <li class='jc'>{@link XmlParser}, {@link 
HtmlParser} - These use StAX which doesn't allow for more than one root element 
anyway.
         *                      <li>RDF parsers - These read everything into an 
internal model before any parsing begins.
         *              </ul>
-        * </ul>
-        *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Parser.unbuffered.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -240,8 +282,15 @@ public @interface ParserConfig {
         * <p>
         * Used when passing in files to {@link Parser#parse(Object, Class)}.
         *
-        * <p>
-        * <js>"DEFAULT"</js> can be used to indicate the JVM default file 
system charset.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              <js>"DEFAULT"</js> can be used to indicate the JVM 
default file system charset.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"ReaderParser.fileCharset.s"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -259,6 +308,16 @@ public @interface ParserConfig {
         * <p>
         * Used when passing in input streams and byte arrays to {@link 
Parser#parse(Object, Class)}.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              <js>"DEFAULT"</js> can be used to indicate the JVM 
default file system charset.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"ReaderParser.inputStreamCharset.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link ReaderParser#RPARSER_inputStreamCharset}
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
index 419ae94..591c87f 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/annotation/SerializerConfig.java
@@ -19,6 +19,7 @@ import static java.lang.annotation.RetentionPolicy.*;
 
 import java.lang.annotation.*;
 
+import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.serializer.*;
 
@@ -46,12 +47,19 @@ public @interface SerializerConfig {
         * When using the {@link 
OutputStreamSerializer#serializeToString(Object)} method on stream-based 
serializers, this defines the format to use
         * when converting the resulting byte array to a string.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"SPACED_HEX"</js>
-        *      <li><js>"HEX"</js> (default)
-        *      <li><js>"BASE64"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"SPACED_HEX"</js>
+        *                      <li><js>"HEX"</js> (default)
+        *                      <li><js>"BASE64"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"OutputStreamSerializer.binaryFormat.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -84,11 +92,18 @@ public @interface SerializerConfig {
         *      <li class='jf'>{@link #SERIALIZER_addBeanTypes} - Affects 
whether <js>'_type'</js> is added to any nodes.
         * </ul>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.addBeanTypes.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -116,11 +131,18 @@ public @interface SerializerConfig {
         *      <li class='jf'>{@link #SERIALIZER_addBeanTypes} - Affects 
whether <js>'_type'</js> is added to any nodes.
         * </ul>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.addRootType.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -152,11 +174,18 @@ public @interface SerializerConfig {
         * <p>
         * Note that this introduces a performance penalty.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.sortCollections.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -175,11 +204,18 @@ public @interface SerializerConfig {
         * <p>
         * Note that this introduces a performance penalty.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.sortMaps.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -204,11 +240,18 @@ public @interface SerializerConfig {
         *              Bean properties with empty list values will not be set.
         * </ul>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.trimEmptyCollections.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -231,11 +274,18 @@ public @interface SerializerConfig {
         *              Bean properties with empty map values will not be set.
         * </ul>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.trimEmptyMaps.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -258,11 +308,18 @@ public @interface SerializerConfig {
         *              Map entries with <jk>null</jk> values will be lost.
         * </ul>
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js> (default)
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js> (default)
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.trimNullProperties.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -278,11 +335,18 @@ public @interface SerializerConfig {
         * <p>
         * If <js>"true"</js>, string values will be trimmed of whitespace 
using {@link String#trim()} before being serialized.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.trimStrings.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -299,6 +363,16 @@ public @interface SerializerConfig {
         * <p>
         * Bean used for resolution of URIs to absolute or root-relative form.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: JSON object representing a {@link UriContext}
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.uriContext.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link Serializer#SERIALIZER_uriContext}
@@ -317,13 +391,18 @@ public @interface SerializerConfig {
         *      <li>Properties and classes annotated with {@link 
org.apache.juneau.annotation.URI @URI}
         * </ul>
         *
-        * <p>
-        * Possible values are:
-        * <ul>
-        *      <li><js>"RESOURCE"</js>
-        *              - Relative URIs should be considered relative to the 
servlet URI.
-        *      <li><js>"PATH_INFO"</js>
-        *              - Relative URIs should be considered relative to the 
request URI.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"RESOURCE"</js> (default) - Relative 
URIs should be considered relative to the servlet URI.
+        *                      <li><js>"PATH_INFO"</js> - Relative URIs should 
be considered relative to the request URI.
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.uriRelativity.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -345,15 +424,19 @@ public @interface SerializerConfig {
         *      <li>Properties and classes annotated with {@link 
org.apache.juneau.annotation.URI @URI}
         * </ul>
         *
-        * <p>
-        * Possible values are:
-        * <ul>
-        *      <li><js>"ABSOLUTE"</js>
-        *              - Resolve to an absolute URL (e.g. 
<js>"http://host:port/context-root/servlet-path/path-info";</js>).
-        *      <li><js>"ROOT_RELATIVE"</js>
-        *              - Resolve to a root-relative URL (e.g. 
<js>"/context-root/servlet-path/path-info"</js>).
-        *      <li><js>"NONE"</js>
-        *              - Don't do any URL resolution.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"ABSOLUTE"</js> - Resolve to an 
absolute URL (e.g. 
<js>"http://host:port/context-root/servlet-path/path-info";</js>).
+        *                      <li><js>"ROOT_RELATIVE"</js> - Resolve to a 
root-relative URL (e.g. <js>"/context-root/servlet-path/path-info"</js>).
+        *                      <li><js>"NONE"</js> (default) - Don't do any 
URL resolution.
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.uriResolution.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -370,11 +453,18 @@ public @interface SerializerConfig {
         * <p>
         * If <js>"true"</js>, whitespace is added to the output to improve 
readability.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"Serializer.useWhitespace.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -394,8 +484,19 @@ public @interface SerializerConfig {
         * <p>
         * Specifies the maximum indentation level in the serialized document.
         *
-        * <p>
-        * This setting does not apply to the RDF serializers.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Format: integer
+        *      <li>
+        *              Default: 100
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"WriterSerializer.maxIndent.i"</js>.
+        *      <li>
+        *              This setting does not apply to the RDF serializers.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -410,8 +511,17 @@ public @interface SerializerConfig {
         * <p>
         * This is the character used for quoting attributes and values.
         *
-        * <p>
-        * This setting does not apply to the RDF serializers.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Default: "
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"WriterSerializer.quoteChar.s"</js>.
+        *      <li>
+        *              This setting does not apply to the RDF serializers.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
index c3fd5f2..e3e0c0b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/VarResolver.java
@@ -67,17 +67,18 @@ public class VarResolver {
         *      <li><code>$E{key[,default]}</code> - {@link EnvVariablesVar}
         *      <li><code>$A{key[,default]}</code> - {@link ArgsVar}
         *      <li><code>$MF{key[,default]}</code> - {@link ManifestFileVar}
+        *      
<li><code>$SW{stringArg,pattern:thenValue[,pattern:thenValue...]}</code> - 
{@link SwitchVar}
         *      <li><code>$IF{arg,then[,else]}</code> - {@link IfVar}
-        *      <li><code>$SW{arg,pattern1:then1[,pattern2:then2...]}</code> - 
{@link SwitchVar}
         *      <li><code>$CO{arg[,arg2...]}</code> - {@link CoalesceVar}
         *      <li><code>$PM{arg,pattern}</code> - {@link PatternMatchVar}
+        *      <li><code>$PR{stringArg,pattern,replace}</code>- {@link 
PatternReplaceVar}
+        *      <li><code>$PE{arg,pattern,groupIndex}</code> - {@link 
PatternExtractVar}
         *      <li><code>$UC{arg}</code> - {@link UpperCaseVar}
         *      <li><code>$LC{arg}</code> - {@link LowerCaseVar}
         *      <li><code>$NE{arg}</code> - {@link NotEmptyVar}
+        *      <li><code>$LN{arg[,delimiter]}</code> - {@link LenVar}
+        *      <li><code>$ST{arg,start[,end]}</code> - {@link SubstringVar}
         * </ul>
-        *
-        * @see SystemPropertiesVar
-        * @see EnvVariablesVar
         */
        public static final VarResolver DEFAULT = new 
VarResolverBuilder().defaultVars().build();
 
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
index 71592a7..9dd659b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/LenVar.java
@@ -25,12 +25,9 @@ import org.apache.juneau.svl.*;
  * The format for this var is one of the following:
  * <ul>
  *     <li><js>"$LN{arg}"</js>
- *     <li><js>"$LN{arg, delimiter}"</js>
+ *     <li><js>"$LN{arg,delimiter}"</js>
  * </ul>
  *
- * <p>
- * 
- *
  * <h5 class='section'>Example:</h5>
  * <p class='bcode w800'>
  *     <jc>// Create a variable resolver that resolves system properties and 
$SW vars.</jc>
@@ -65,13 +62,13 @@ public class LenVar extends MultipartVar {
        public String resolve(VarResolverSession session, String[] args) {
                if (args.length > 2)
                        illegalArg("Invalid number of arguments passed to $LN 
var.  Must have 1 or 2 arguments.");
-               
+
                int len = 0;
                String stringArg = args[0];
-               if (args.length == 1) 
+               if (args.length == 1)
                        len = stringArg.length();
-               else if (args.length == 2) { 
-                       //delimiter is given 
+               else if (args.length == 2) {
+                       //delimiter is given
                        String delimiter = Pattern.quote(args[1]);
                        len = stringArg.trim().split(delimiter).length;
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
index 0b48127..8db42f3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternExtractVar.java
@@ -24,7 +24,7 @@ import org.apache.juneau.svl.*;
  * <p>
  * The format for this var:
  * <ul>
- *     <li><js>"$PE{arg, pattern, groupIndex}"</js>
+ *     <li><js>"$PE{arg,pattern,groupIndex}"</js>
  * </ul>
  *
  * <p>
@@ -70,14 +70,14 @@ public class PatternExtractVar extends MultipartVar {
                String pattern = args[1];
                String result = "";
                int groupId = Integer.parseInt(args[2]);
-               
+
                Pattern p = Pattern.compile(pattern.replace("*", 
".*").replace("?", "."));
                Matcher m = p.matcher(stringArg);
-                       
+
                if (m.find() && groupId <= m.groupCount() && groupId >= 0) {
                        result = m.group(groupId);
                }
-               
+
                return result;
        }
 }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
index ce38c79..eb08a47 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/PatternReplaceVar.java
@@ -2,7 +2,7 @@
 // * 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                
                                              * 
+// * with the License.  You may obtain a copy of the License at                
                                              *
 // *                                                                           
                                              *
 // *  http://www.apache.org/licenses/LICENSE-2.0                               
                                              *
 // *                                                                           
                                              *
@@ -22,13 +22,13 @@ import org.apache.juneau.svl.*;
  * <p>
  * The format for this var is:
  * <ul>
- *     <li><js>"$PR{stringArg, pattern, replace}"</js>
+ *     <li><js>"$PR{stringArg,pattern,replace}"</js>
  * </ul>
  *
  * <p>
  * The pattern can be any string optionally containing <js>'*'</js> or 
<js>'?'</js> representing any or one character
  * respectively.
- * 
+ *
  * The replace can contain matched regex sub classes like \$1, \$2 ..
  *
  * <h5 class='section'>Example:</h5>
@@ -69,7 +69,7 @@ public class PatternReplaceVar extends MultipartVar {
                String stringArg = args[0];
                String pattern = args[1];
                String replace = args[2];
-               
+
                pattern = pattern.replace("*", ".*").replace("?", ".");
                return stringArg.replaceAll(pattern, replace);
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
index 8d83bdb..53248e3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/svl/vars/SubstringVar.java
@@ -22,8 +22,8 @@ import org.apache.juneau.svl.*;
  * <p>
  * The format for this var is one of the following:
  * <ul>
- *     <li><js>"$ST{arg, start}"</js>
- *     <li><js>"$ST{arg, start, end}"</js>
+ *     <li><js>"$ST{arg,start}"</js>
+ *     <li><js>"$ST{arg,start,end}"</js>
  * </ul>
  *
  * <p>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
index 259281c..3aebcf9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializer.java
@@ -202,7 +202,7 @@ public class UonSerializer extends WriterSerializer 
implements HttpPartSerialize
         *
         * <h5 class='section'>Property:</h5>
         * <ul>
-        *      <li><b>Name:</b>  <js>"UrlEncodingSerializer.paramFormat.s"</js>
+        *      <li><b>Name:</b>  <js>"UonSerializer.paramFormat.s"</js>
         *      <li><b>Data type:</b>  <code>String</code> ({@link ParamFormat})
         *      <li><b>Default:</b>  <js>"UON"</js>
         *      <li><b>Session property:</b>  <jk>false</jk>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java
index 2104536..0293e29 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/annotation/UonConfig.java
@@ -46,16 +46,22 @@ public @interface UonConfig {
         * Specify <js>"true"</js> if URI encoded characters should be decoded, 
<js>"false"</js> if they've already been decoded
         * before being passed to this parser.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js>
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              The default is <js>"false"</js> for {@link UonParser}, 
<js>"true"</js> for {@link UrlEncodingParser}.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"UonParser.decoding.b"</js>.
         * </ul>
         *
-        * <p>
-        * The default is <js>"false"</js> for {@link UonParser}, 
<js>"true"</js> for {@link UrlEncodingParser}.
-        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link UonParser#UON_decoding}
@@ -70,13 +76,20 @@ public @interface UonConfig {
         * If <js>"true"</js>, after parsing a POJO from the input, verifies 
that the remaining input in
         * the stream consists of only comments or whitespace.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"UonParser.validateEnd.b"</js>.
         * </ul>
-        *
+
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link UonParser#UON_validateEnd}
@@ -99,11 +112,18 @@ public @interface UonConfig {
         * When present, this value overrides the {@link 
Serializer#SERIALIZER_addBeanTypes} setting and is
         * provided to customize the behavior of specific serializers in a 
{@link SerializerGroup}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"UonSerializer.addBeanTypes.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -131,8 +151,21 @@ public @interface UonConfig {
         *      <li><js>"false"</js>
         * </ul>
         *
-        * <p>
-        * The default is <js>"false"</js> for {@link UonSerializer}, 
<js>"true"</js> for {@link UrlEncodingSerializer}.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js>
+        *              </ul>
+        *      <li>
+        *              The default is <js>"false"</js> for {@link 
UonSerializer}, <js>"true"</js> for {@link UrlEncodingSerializer}.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"UonSerializer.encoding.b"</js>.
+        * </ul>
         *
         * <h5 class='section'>See Also:</h5>
         * <ul>
@@ -147,11 +180,18 @@ public @interface UonConfig {
         * <p>
         * Specifies the format to use for URL GET parameter keys and values.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"UON"</js> (default) - Use UON notation for parameters.
-        *      <li><js>"PLAINTEXT"</js> - Use plain text for parameters.
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"UON"</js> (default) - Use UON notation 
for parameters.
+        *                      <li><js>"PLAINTEXT"</js> - Use plain text for 
parameters.
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"UonSerializer.paramFormat.s"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java
index b56e9e0..beafdf4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/annotation/UrlEncodingConfig.java
@@ -47,22 +47,24 @@ public @interface UrlEncodingConfig {
         * If <js>"false"</js>, serializing the array <code>[1,2,3]</code> 
results in <code>?key=$a(1,2,3)</code>.
         * <br>If <js>"true"</js>, serializing the same array results in 
<code>?key=1&amp;key=2&amp;key=3</code>.
         *
-        * <p>
-        * This option only applies to beans.
-        *
         * <h5 class='section'>Notes:</h5>
         * <ul class='spaced-list'>
         *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
         *              If parsing multi-part parameters, it's highly 
recommended to use Collections or Lists
         *              as bean property types instead of arrays since arrays 
have to be recreated from scratch every time a value
         *              is added to it.
-        * </ul>
-        *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        *      <li>
+        *              This option only applies to beans.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"UrlEncodingSerializer.expandedParams.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
index ab904ff..531aa12 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfig.java
@@ -63,11 +63,18 @@ public @interface XmlConfig {
         * If <js>"true"</js>, when parsing into a generic {@link ObjectMap}, 
the map will contain a single entry whose key
         * is the root element name.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlParser.preserveRootElement.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -118,11 +125,18 @@ public @interface XmlConfig {
         * <p>
         * See {@link XMLInputFactory#IS_VALIDATING} for more info.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlParser.validating.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -147,11 +161,18 @@ public @interface XmlConfig {
         * When present, this value overrides the {@link 
Serializer#SERIALIZER_addBeanTypes} setting and is
         * provided to customize the behavior of specific serializers in a 
{@link SerializerGroup}.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlSerializer.addBeanTypes.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -167,14 +188,20 @@ public @interface XmlConfig {
         * <p>
         * Use this setting to add {@code xmlns:x} attributes to the root 
element for the default and all mapped namespaces.
         *
-        * <p>
-        * This setting is ignored if {@link 
XmlSerializer#XML_enableNamespaces} is not enabled.
-        *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              This setting is ignored if {@link 
XmlSerializer#XML_enableNamespaces} is not enabled.
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlSerializer.addNamespaceUrisToRoot.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -208,13 +235,16 @@ public @interface XmlConfig {
         *              Auto-detection of namespaces can be costly 
performance-wise.
         *              <br>In high-performance environments, it's recommended 
that namespace detection be
         *              disabled, and that namespaces be manually defined 
through the {@link XmlSerializer#XML_namespaces} property.
-        * </ul>
-        *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlSerializer.autoDetectNamespaces.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -231,6 +261,14 @@ public @interface XmlConfig {
         * <p>
         * Specifies the default namespace URI for this document.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlSerializer.defaultNamespace.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link XmlSerializer#XML_defaultNamespace}
@@ -245,11 +283,18 @@ public @interface XmlConfig {
         * <p>
         * If not enabled, XML output will not contain any namespaces 
regardless of any other settings.
         *
-        * <p>
-        * Possible values:
-        * <ul>
-        *      <li><js>"true"</js>
-        *      <li><js>"false"</js> (default)
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Possible values:
+        *              <ul>
+        *                      <li><js>"true"</js>
+        *                      <li><js>"false"</js> (default)
+        *              </ul>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlSerializer.enableNamespaces.b"</js>.
         * </ul>
         *
         * <h5 class='section'>See Also:</h5>
@@ -266,6 +311,14 @@ public @interface XmlConfig {
         * <p>
         * The default list of namespaces associated with this serializer.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlSerializer.namespaces.ls"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link XmlSerializer#XML_namespaces}
@@ -281,6 +334,14 @@ public @interface XmlConfig {
         * Specifies the namespace for the <code>XMLSchema</code> namespace, 
used by the schema generated by the
         * {@link XmlSchemaSerializer} class.
         *
+        * <h5 class='section'>Notes:</h5>
+        * <ul class='spaced-list'>
+        *      <li>
+        *              Supports {@doc DefaultSvlVariables} (e.g. 
<js>"$C{myConfigVar}"</js>).
+        *      <li>
+        *              A default global value can be set via the system 
property <js>"XmlSerializer.xsNamespace.s"</js>.
+        * </ul>
+        *
         * <h5 class='section'>See Also:</h5>
         * <ul>
         *      <li class='jf'>{@link XmlSerializer#XML_xsNamespace}
diff --git a/juneau-doc/docs/ReleaseNotes/8.0.1.html 
b/juneau-doc/docs/ReleaseNotes/8.0.1.html
index 3f330a4..755c6da 100644
--- a/juneau-doc/docs/ReleaseNotes/8.0.1.html
+++ b/juneau-doc/docs/ReleaseNotes/8.0.1.html
@@ -47,7 +47,15 @@
        <li>
                Fixed a bug where instances of {@link 
oaj.config.store.ConfigMemoryStore} ended up resolving to the same object.
        <li>
-               
+               Uses <js>"application.properties"</js> file as a system default 
if present.
+               <br>Useful when being used in a Spring Boot application.
+       <li>
+               New {@link oaj.config.Config#setSystemProperties} method for 
quickly moving configuration settings into the 
+               system properties.
+       <li>
+               Entries in the system config are automatically set as system 
properties.
+               <br>This mean you can set any of the various serializer and 
parser settings (e.g. <js>"JsonSerializer.simpleMode.b"</js>)
+               in the default configuration area or 
<code>application.properties</code>.
 </ul>
 
 <h5 class='topic w800'>juneau-rest-server</h5>
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/02.SvlVariables.html 
b/juneau-doc/docs/Topics/05.juneau-svl/02.SvlVariables.html
index f6c4970..05d0af9 100644
--- a/juneau-doc/docs/Topics/05.juneau-svl/02.SvlVariables.html
+++ b/juneau-doc/docs/Topics/05.juneau-svl/02.SvlVariables.html
@@ -13,7 +13,7 @@
  
***************************************************************************************************************************/
  -->
 
-SVL Variables
+{updated} SVL Variables
 
 <p>
        Variables are defined through the {@link oaj.svl.Var} API.
@@ -133,6 +133,10 @@ SVL Variables
                <td>{@link oaj.svl.vars.SubstringVar}</td>
                <td class='code'>$ST{arg,start[,end]}</td>
        </tr>
+       <tr class='dark'>
+               <td>{@link oaj.html.HtmlWidgetVar}</td>
+               <td class='code'>$W{name}</td>
+       </tr>
        <tr class='light dd'>
                <td rowspan='1' 
style='text-align:center;font-weight:bold;padding:20px;' 
class='code'>juneau-config</td>
                <td>{@link oaj.config.vars.ConfigVar}</td>
@@ -196,7 +200,7 @@ SVL Variables
                <td class='code'>$UE{uriPart}</td>
        </tr>
        <tr class='dark dd'>
-               <td>{@link oajr.vars.WidgetVar}</td>
+               <td>{@link oajr.vars.WidgetVar} <i>(deprecated)</i></td>
                <td class='code'>$W{name}</td>
        </tr>
 </table>
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/04.DefaultVarResolver.html 
b/juneau-doc/docs/Topics/05.juneau-svl/04.DefaultVarResolver.html
new file mode 100644
index 0000000..5231caf
--- /dev/null
+++ b/juneau-doc/docs/Topics/05.juneau-svl/04.DefaultVarResolver.html
@@ -0,0 +1,38 @@
+<!--
+/***************************************************************************************************************************
+ * 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.
+ 
***************************************************************************************************************************/
+ -->
+
+{new} VarResolver.DEFAULT
+
+<p>
+       {@link oaj.svl.VarResolver#DEFAULT} is a reusable variable resolver 
with default support for the following variables:
+</p>
+<ul>
+       <li><code>$S{key[,default]}</code> - {@link 
oaj.svl.vars.SystemPropertiesVar}
+       <li><code>$E{key[,default]}</code> - {@link 
oaj.svl.vars.EnvVariablesVar}
+       <li><code>$A{key[,default]}</code> - {@link oaj.svl.vars.ArgsVar}
+       <li><code>$MF{key[,default]}</code> - {@link 
oaj.svl.vars.ManifestFileVar}
+       
<li><code>$SW{stringArg,pattern:thenValue[,pattern:thenValue...]}</code> - 
{@link oaj.svl.vars.SwitchVar}
+       <li><code>$IF{arg,then[,else]}</code> - {@link oaj.svl.vars.IfVar}
+       <li><code>$CO{arg[,arg2...]}</code> - {@link oaj.svl.vars.CoalesceVar}
+       <li><code>$PM{arg,pattern}</code> - {@link oaj.svl.vars.PatternMatchVar}
+       <li><code>$PR{stringArg,pattern,replace}</code>- {@link 
oaj.svl.vars.PatternReplaceVar}
+       <li><code>$PE{arg,pattern,groupIndex}</code> - {@link 
oaj.svl.vars.PatternExtractVar}
+       <li><code>$UC{arg}</code> - {@link oaj.svl.vars.UpperCaseVar}
+       <li><code>$LC{arg}</code> - {@link oaj.svl.vars.LowerCaseVar}
+       <li><code>$NE{arg}</code> - {@link oaj.svl.vars.NotEmptyVar}
+       <li><code>$LN{arg[,delimiter]}</code> - {@link oaj.svl.vars.LenVar}
+       <li><code>$ST{arg,start[,end]}</code> - {@link 
oaj.svl.vars.SubstringVar}
+</ul>
+
diff --git a/juneau-doc/docs/Topics/05.juneau-svl/04.OtherNotes.html 
b/juneau-doc/docs/Topics/05.juneau-svl/05.OtherNotes.html
similarity index 100%
rename from juneau-doc/docs/Topics/05.juneau-svl/04.OtherNotes.html
rename to juneau-doc/docs/Topics/05.juneau-svl/05.OtherNotes.html
diff --git 
a/juneau-doc/docs/Topics/06.juneau-config/15.SystemDefaultConfig.html 
b/juneau-doc/docs/Topics/06.juneau-config/15.SystemDefaultConfig.html
index b154dbc..43efe00 100644
--- a/juneau-doc/docs/Topics/06.juneau-config/15.SystemDefaultConfig.html
+++ b/juneau-doc/docs/Topics/06.juneau-config/15.SystemDefaultConfig.html
@@ -13,7 +13,7 @@
  
***************************************************************************************************************************/
  -->
 
-System Default Config
+{updated} System Default Config
 
 <p>
        Each JVM has a system default config.  This is a configuration file 
that serves as the default
@@ -49,6 +49,7 @@ System Default Config
                        <li><code>application.cfg</code>
                        <li><code>app.cfg</code>
                        <li><code>settings.cfg</code>
+                       <li><code>application.properties</code>
                </ol>
 </ol>
 <p>
@@ -63,3 +64,7 @@ System Default Config
        <jc>// Use system property if set or the system default if not.</jc>
        
<ja>@RestResource</ja>(config=<js>"$S{juneau.configFile,SYSTEM_DEFAULT}"</js>)
 </p>
+<p>
+       By default, all properties in the system default configuration are 
automatically set as system properties.
+       This can be disabled by setting the system property 
<js>"juneau.disableAutoSystemProps"</js> to <js>"true"</js>.
+</p>
diff --git 
a/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation.html 
b/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation.html
index 339f0f6..60b1024 100644
--- a/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation.html
+++ b/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation.html
@@ -13,16 +13,16 @@
  
***************************************************************************************************************************/
  -->
 
-@HtmlDoc
+{updated} @HtmlDocConfig
 
 <p>
-       The {@link oajr.annotation.HtmlDoc @HtmlDoc} annotation is used to 
customize the HTML 
+       The {@link oajr.annotation.HtmlDocConfig @HtmlDocConfig} annotation is 
used to customize the HTML 
        view of your serialized POJOs.
        It's used in the following locations:
 </p>
 <ul>
-       <li class='ja'>{@link oajr.annotation.RestResource#htmldoc() 
RestResource(htmldoc)}
-       <li class='ja'>{@link oajr.annotation.RestMethod#htmldoc() 
RestMethod(htmldoc)}
+       <li>{@link oajr.annotation.RestResource @RestResource}-annotated 
classes. 
+       <li>{@link oajr.annotation.RestMethod @RestMethod}-annotated methods.
 </ul>
 <p>
        The annotation itself is just a convenience for setting configuration 
properties set
@@ -38,10 +38,9 @@
        )
 
        <jc>// Title defined via @HtmlDoc annotation.</jc>
-       <ja>@RestResource</ja>(
-               htmldoc=<ja>@HtmlDoc</ja>(
-                       title=<js>"My Resource Page"</js>
-               )
+       <ja>@RestResource</ja>()
+       <ja>@HtmlDocConfig</ja>(
+               title=<js>"My Resource Page"</js>
        )
 </p>
 <p>
@@ -86,19 +85,19 @@
         * Sample REST resource that prints out a simple "Hello world!" message.
         */</jd>
        <ja>@RestResource</ja>(
-               path=<js>"/helloWorld"</js>,
-               htmldoc=<ja>@HtmlDoc</ja>(
-                       navlinks={
-                               <js>"up: request:/.."</js>,
-                               <js>"options: servlet:/?method=OPTIONS"</js>
-                       },
-                       aside={
-                               <js>"&lt;div style='max-width:400px' 
class='text'&gt;"</js>,
-                               <js>"   &lt;p&gt;This page shows a resource 
that simply response with a 'Hello world!' message&lt;/p&gt;"</js>,
-                               <js>"   &lt;p&gt;The POJO serialized is a 
simple String.&lt;/p&gt;"</js>,
-                               <js>"&lt;/div&gt;"</js>
-                       }
-               )
+               path=<js>"/helloWorld"</js>
+       )
+       <ja>@HtmlDocConfig</ja>(
+               navlinks={
+                       <js>"up: request:/.."</js>,
+                       <js>"options: servlet:/?method=OPTIONS"</js>
+               },
+               aside={
+                       <js>"&lt;div style='max-width:400px' 
class='text'&gt;"</js>,
+                       <js>"   &lt;p&gt;This page shows a resource that simply 
response with a 'Hello world!' message&lt;/p&gt;"</js>,
+                       <js>"   &lt;p&gt;The POJO serialized is a simple 
String.&lt;/p&gt;"</js>,
+                       <js>"&lt;/div&gt;"</js>
+               }
        )
        <jk>public class</jk> HelloWorldResource <jk>extends</jk> 
BasicRestServlet {...}
 </p>
@@ -109,27 +108,22 @@
        <ja>@RestResource</ja>(
                path=<js>"/helloWorld"</js>,
                <jc>// Register a config file.</jc>
-               config=<js>"MyConfig.cfg"</js>,
-               htmldoc=<ja>@HtmlDoc</ja>(
-                       navlinks={
-                               <js>"up: request:/.."</js>,
-                               <js>"options: servlet:/?method=OPTIONS"</js>,
-                               <jc>// Add a nav link to view the source code 
for this class.</jc>
-                               <js>"source: 
$C{Source/gitHub}/org/apache/juneau/examples/rest/$R{servletClassSimple}.java"</js>
-                       },
-                       aside={
-                               <jc>// Localize our messages.</jc>
-                               <js>"&lt;div style='max-width:400px' 
class='text'&gt;"</js>,
-                               <js>"   
&lt;p&gt;$L{localizedMessage1}&lt;/p&gt;"</js>,
-                               <js>"   
&lt;p&gt;$L{localizedMessage2}&lt;/p&gt;"</js>,
-                               <js>"&lt;/div&gt;"</js>
-                       }
-               )
+               config=<js>"MyConfig.cfg"</js>
+       )
+       <ja>@HtmlDocConfig</ja>(
+               navlinks={
+                       <js>"up: request:/.."</js>,
+                       <js>"options: servlet:/?method=OPTIONS"</js>,
+                       <jc>// Add a nav link to view the source code for this 
class.</jc>
+                       <js>"source: 
$C{Source/gitHub}/org/apache/juneau/examples/rest/$R{servletClassSimple}.java"</js>
+               },
+               aside={
+                       <jc>// Localize our messages.</jc>
+                       <js>"&lt;div style='max-width:400px' 
class='text'&gt;"</js>,
+                       <js>"   &lt;p&gt;$L{localizedMessage1}&lt;/p&gt;"</js>,
+                       <js>"   &lt;p&gt;$L{localizedMessage2}&lt;/p&gt;"</js>,
+                       <js>"&lt;/div&gt;"</js>
+               }
        )
        <jk>public class</jk> HelloWorldResource <jk>extends</jk> 
BasicRestServlet {...}
 </p>
-<h5 class='section'>See Also:</h5>
-<ul>
-       <li class='ja'>{@link oajr.annotation.HtmlDoc}
-       <li class='jc'>{@link oajr.HtmlDocBuilder}
-</ul>
diff --git 
a/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation/05.Stylesheets.html
 
b/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation/05.Stylesheets.html
index 67dc4d0..c59dc56 100644
--- 
a/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation/05.Stylesheets.html
+++ 
b/juneau-doc/docs/Topics/07.juneau-rest-server/28.HtmlDocAnnotation/05.Stylesheets.html
@@ -13,7 +13,7 @@
  
***************************************************************************************************************************/
  -->
 
-Stylesheets
+{updated} Stylesheets
 
 <p>
        The sample root page renders in the default "devops" look-and-feel:
@@ -41,7 +41,7 @@ Stylesheets
 </p>
 <img class='bordered w800' 
src='doc-files/juneau-rest-server.Stylesheets.3.png'>
 <p>
-       The stylesheet URL is controlled by the {@link 
oajr.annotation.HtmlDoc#stylesheet() @HtmlDoc(stylesheet)} annotation.
+       The stylesheet URL is controlled by the {@link 
oajr.annotation.HtmlDocConfig#stylesheet() @HtmlDocConfig(stylesheet)} 
annotation.
        The {@link oajr.BasicRestServlet} class defines the stylesheet served 
up as a static file:
 <p class='bpcode w800'>
        <ja>@RestResource</ja>(
diff --git a/juneau-doc/docs/docs.txt b/juneau-doc/docs/docs.txt
index 05944af..56d6f0b 100644
--- a/juneau-doc/docs/docs.txt
+++ b/juneau-doc/docs/docs.txt
@@ -1,4 +1,5 @@
 DefaultRestSvlVariables = #DefaultRestSvlVariables, Default REST SVL Variables
+DefaultSvlVariables = #juneau-svl.DefaultVarResolver, Default SVL Variables
 PojoCategories = #juneau-marshall.PojoCategories, POJO Categories
 PojosConveribleToStrings = #PojosConveribleToStrings, POJOs Convertible 
to/from Strings
 PojosConveribleToOtherTypes = #PojosConveribleToOtherTypes, POJOs Convertible 
to/from Other Types

Reply via email to