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><></code> or
<code><#></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>=></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<String></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><a</xt>
<xa>href</xa>=<xs>'...'</xs>
* <xt>></xt>text<xt></a></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><\/script></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&key=2&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>"<div style='max-width:400px'
class='text'>"</js>,
- <js>" <p>This page shows a resource
that simply response with a 'Hello world!' message</p>"</js>,
- <js>" <p>The POJO serialized is a
simple String.</p>"</js>,
- <js>"</div>"</js>
- }
- )
+ path=<js>"/helloWorld"</js>
+ )
+ <ja>@HtmlDocConfig</ja>(
+ navlinks={
+ <js>"up: request:/.."</js>,
+ <js>"options: servlet:/?method=OPTIONS"</js>
+ },
+ aside={
+ <js>"<div style='max-width:400px'
class='text'>"</js>,
+ <js>" <p>This page shows a resource that simply
response with a 'Hello world!' message</p>"</js>,
+ <js>" <p>The POJO serialized is a simple
String.</p>"</js>,
+ <js>"</div>"</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>"<div style='max-width:400px'
class='text'>"</js>,
- <js>"
<p>$L{localizedMessage1}</p>"</js>,
- <js>"
<p>$L{localizedMessage2}</p>"</js>,
- <js>"</div>"</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>"<div style='max-width:400px'
class='text'>"</js>,
+ <js>" <p>$L{localizedMessage1}</p>"</js>,
+ <js>" <p>$L{localizedMessage2}</p>"</js>,
+ <js>"</div>"</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