You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2020/11/13 16:05:57 UTC

[juneau] branch master updated: Configurable boolean properties should default to false.

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 def0f0a  Configurable boolean properties should default to false.
def0f0a is described below

commit def0f0a526bf84206e6f1b6e539fa261973a7e38
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Fri Nov 13 11:05:48 2020 -0500

    Configurable boolean properties should default to false.
---
 .../java/org/apache/juneau/BasicBeanTests.java     |   2 +-
 .../java/org/apache/juneau/BeanConfigTest.java     |   8 +-
 .../java/org/apache/juneau/IgnoredClassesTest.java |   6 +-
 .../annotation/BeanConfigAnnotation_Test.java      |  32 +-
 .../juneau/html/HtmlConfigAnnotation_Test.java     |  16 +-
 .../java/org/apache/juneau/html/Html_Test.java     |   2 +-
 .../apache/juneau/xml/XmlConfigAnnotationTest.java |   8 +-
 .../org/apache/juneau/jena/RdfParserBuilder.java   |   4 +-
 .../apache/juneau/jena/RdfSerializerBuilder.java   |   4 +-
 .../main/java/org/apache/juneau/BeanContext.java   | 596 +++++++++------------
 .../java/org/apache/juneau/BeanContextBuilder.java |  77 +--
 .../src/main/java/org/apache/juneau/BeanMeta.java  |  10 +-
 .../java/org/apache/juneau/BeanPropertyMeta.java   |   2 +-
 .../main/java/org/apache/juneau/BeanSession.java   |  42 +-
 .../org/apache/juneau/BeanTraverseBuilder.java     |   4 +-
 .../src/main/java/org/apache/juneau/ClassMeta.java |   2 +-
 .../org/apache/juneau/annotation/BeanConfig.java   |  74 +--
 .../juneau/annotation/BeanConfigAnnotation.java    |  20 +-
 .../org/apache/juneau/csv/CsvParserBuilder.java    |   4 +-
 .../apache/juneau/csv/CsvSerializerBuilder.java    |   4 +-
 .../juneau/html/HtmlDocSerializerBuilder.java      |   4 +-
 .../org/apache/juneau/html/HtmlParserBuilder.java  |   4 +-
 .../juneau/html/HtmlSchemaSerializerBuilder.java   |   4 +-
 .../org/apache/juneau/html/HtmlSerializer.java     | 190 +++----
 .../apache/juneau/html/HtmlSerializerBuilder.java  |  22 +-
 .../apache/juneau/html/HtmlSerializerSession.java  |  24 +-
 .../html/HtmlStrippedDocSerializerBuilder.java     |   4 +-
 .../apache/juneau/html/annotation/HtmlConfig.java  |  26 +-
 .../html/annotation/HtmlConfigAnnotation.java      |   8 +-
 .../org/apache/juneau/jso/JsoParserBuilder.java    |   4 +-
 .../apache/juneau/jso/JsoSerializerBuilder.java    |   4 +-
 .../org/apache/juneau/json/JsonParserBuilder.java  |   4 +-
 .../juneau/json/JsonSchemaSerializerBuilder.java   |   4 +-
 .../apache/juneau/json/JsonSerializerBuilder.java  |   4 +-
 .../juneau/json/SimpleJsonParserBuilder.java       |   4 +-
 .../juneau/json/SimpleJsonSerializerBuilder.java   |   4 +-
 .../jsonschema/JsonSchemaGeneratorBuilder.java     |   4 +-
 .../juneau/msgpack/MsgPackParserBuilder.java       |   4 +-
 .../juneau/msgpack/MsgPackSerializerBuilder.java   |   4 +-
 .../apache/juneau/oapi/OpenApiParserBuilder.java   |   4 +-
 .../juneau/oapi/OpenApiSerializerBuilder.java      |   4 +-
 .../juneau/parser/InputStreamParserBuilder.java    |   4 +-
 .../org/apache/juneau/parser/ParserBuilder.java    |   4 +-
 .../apache/juneau/parser/ParserGroupBuilder.java   |   4 +-
 .../org/apache/juneau/parser/ParserSession.java    |   2 +-
 .../apache/juneau/parser/ReaderParserBuilder.java  |   4 +-
 .../juneau/plaintext/PlainTextParserBuilder.java   |   4 +-
 .../plaintext/PlainTextSerializerBuilder.java      |   4 +-
 .../java/org/apache/juneau/reflect/ClassInfo.java  |  10 +
 .../org/apache/juneau/reflect/ExecutableInfo.java  |  10 +
 .../java/org/apache/juneau/reflect/FieldInfo.java  |  10 +
 .../serializer/OutputStreamSerializerBuilder.java  |   4 +-
 .../juneau/serializer/SerializerBuilder.java       |   4 +-
 .../juneau/serializer/SerializerGroupBuilder.java  |   4 +-
 .../juneau/serializer/WriterSerializerBuilder.java |   4 +-
 .../juneau/soap/SoapXmlSerializerBuilder.java      |   4 +-
 .../org/apache/juneau/uon/UonParserBuilder.java    |   4 +-
 .../apache/juneau/uon/UonSerializerBuilder.java    |   4 +-
 .../urlencoding/UrlEncodingParserBuilder.java      |   4 +-
 .../urlencoding/UrlEncodingSerializerBuilder.java  |   4 +-
 .../org/apache/juneau/xml/XmlParserBuilder.java    |   4 +-
 .../java/org/apache/juneau/xml/XmlSerializer.java  |  96 ++--
 .../apache/juneau/xml/XmlSerializerBuilder.java    |  12 +-
 .../apache/juneau/xml/XmlSerializerSession.java    |  12 +-
 .../apache/juneau/xml/annotation/XmlConfig.java    |  10 +-
 .../juneau/xml/annotation/XmlConfigAnnotation.java |   4 +-
 .../client/RestClient_Config_BeanContext_Test.java |   2 +-
 .../juneau/rest/client/RestClientBuilder.java      |   4 +-
 .../juneau/rest/mock/MockRestClientBuilder.java    |   4 +-
 .../org/apache/juneau/rest/RestContextBuilder.java |   4 +-
 .../juneau/rest/RestMethodContextBuilder.java      |   4 +-
 71 files changed, 719 insertions(+), 780 deletions(-)

diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BasicBeanTests.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BasicBeanTests.java
index 89173aa..79ebe72 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BasicBeanTests.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BasicBeanTests.java
@@ -41,7 +41,7 @@ public class BasicBeanTests {
 		}
 	}
 
-	@BeanConfig(ignoreTransientFields="false")
+	@BeanConfig(dontIgnoreTransientFields="true")
 	public static class A {}
 
 	@Test
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
index 78eaebe..930b85e 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
@@ -730,9 +730,9 @@ public class BeanConfigTest {
 		p2.dontIgnoreUnknownNullBeanProperties();
 		assertSameCache(p1, p2);
 
-		p1.dontIgnorePropertiesWithoutSetters();
+		p1.dontSilentlyIgnoreMissingSetters();
 		assertDifferentCache(p1, p2);
-		p2.dontIgnorePropertiesWithoutSetters();
+		p2.dontSilentlyIgnoreMissingSetters();
 		assertSameCache(p1, p2);
 
 		p1.ignoreInvocationExceptionsOnGetters();
@@ -760,9 +760,9 @@ public class BeanConfigTest {
 		p2.notBeanPackages("baz");
 		assertSameCache(p1, p2);
 
-		p1.set(BeanContext.BEAN_notBeanPackages_remove, "bar");
+		p1.removeFrom(BeanContext.BEAN_notBeanPackages, "bar");
 		assertDifferentCache(p1, p2);
-		p2.set(BeanContext.BEAN_notBeanPackages_remove, "bar");
+		p2.removeFrom(BeanContext.BEAN_notBeanPackages, "bar");
 		assertSameCache(p1, p2);
 
 		p1.swaps(DummyPojoSwapA.class);
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java
index 825f106..1bce41d 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java
@@ -46,15 +46,15 @@ public class IgnoredClassesTest {
 		assertEquals("{f1:'isBean'}", s.build().serialize(a));
 		s.notBeanPackages("org.apache.juneau");
 		assertEquals("'isNotBean'", s.build().serialize(a));
-		s.set(BeanContext.BEAN_notBeanPackages_remove, "org.apache.juneau");
+		s.removeFrom(BeanContext.BEAN_notBeanPackages, "org.apache.juneau");
 		assertEquals("{f1:'isBean'}", s.build().serialize(a));
 		s.notBeanPackages("org.apache.juneau.*");
 		assertEquals("'isNotBean'", s.build().serialize(a));
-		s.set(BeanContext.BEAN_notBeanPackages_remove, "org.apache.juneau.*");
+		s.removeFrom(BeanContext.BEAN_notBeanPackages, "org.apache.juneau.*");
 		assertEquals("{f1:'isBean'}", s.build().serialize(a));
 		s.notBeanPackages("org.apache.juneau.*");
 		assertEquals("'isNotBean'", s.build().serialize(a));
-		s.set(BeanContext.BEAN_notBeanPackages_remove, "org.apache.juneau.*");
+		s.removeFrom(BeanContext.BEAN_notBeanPackages, "org.apache.juneau.*");
 		assertEquals("{f1:'isBean'}", s.build().serialize(a));
 		s.notBeanPackages("org.apache.juneau");
 		assertEquals("'isNotBean'", s.build().serialize(a));
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
index 4031434..b4e7134 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
@@ -116,17 +116,18 @@ public class BeanConfigAnnotation_Test {
 		beansRequireDefaultConstructor="$X{true}",
 		beansRequireSerializable="$X{true}",
 		beansRequireSettersForGetters="$X{true}",
-		beansRequireSomeProperties="$X{true}",
+		beansDontRequireSomeProperties="$X{true}",
 		typePropertyName="$X{foo}",
 		debug="$X{true}",
 		detectRecursions="$X{true}",
+		dontIgnoreUnknownNullBeanProperties="$X{true}",
+		dontSilentlyIgnoreMissingSetters="$X{true}",
+		dontUseInterfaceProxies="$X{true}",
 		fluentSetters="$X{true}",
 		ignoreInvocationExceptionsOnGetters="$X{true}",
 		ignoreInvocationExceptionsOnSetters="$X{true}",
-		ignorePropertiesWithoutSetters="$X{true}",
 		ignoreRecursions="$X{true}",
 		ignoreUnknownBeanProperties="$X{true}",
-		ignoreUnknownNullBeanProperties="$X{true}",
 		initialDepth="$X{1}",
 		locale="$X{en-US}",
 		maxDepth="$X{1}",
@@ -141,7 +142,6 @@ public class BeanConfigAnnotation_Test {
 		sortProperties="$X{true}",
 		timeZone="$X{z}",
 		useEnumNames="$X{true}",
-		useInterfaceProxies="$X{true}",
 		useJavaBeanIntrospector="$X{true}"
 	)
 	static class A {}
@@ -161,17 +161,17 @@ public class BeanConfigAnnotation_Test {
 		check("true", bc.isBeansRequireDefaultConstructor());
 		check("true", bc.isBeansRequireSerializable());
 		check("true", bc.isBeansRequireSettersForGetters());
-		check("true", bc.isBeansRequireSomeProperties());
+		check("true", bc.isBeansDontRequireSomeProperties());
 		check("foo", bc.getBeanTypePropertyName());
 		check("true", bc.isDebug());
 		check("true", bc.isDetectRecursions());
 		check("true", bc.isFluentSetters());
 		check("true", bc.isIgnoreInvocationExceptionsOnGetters());
 		check("true", bc.isIgnoreInvocationExceptionsOnSetters());
-		check("true", bc.isIgnorePropertiesWithoutSetters());
+		check("true", bc.isDontSilentlyIgnoreMissingSetters());
 		check("true", bc.isIgnoreRecursions());
 		check("true", bc.isIgnoreUnknownBeanProperties());
-		check("true", bc.isIgnoreUnknownNullBeanProperties());
+		check("true", bc.isDontIgnoreUnknownNullBeanProperties());
 		check("1", bc.getInitialDepth());
 		check("en_US", bc.getLocale());
 		check("1", bc.getMaxDepth());
@@ -183,7 +183,7 @@ public class BeanConfigAnnotation_Test {
 		check("true", bc.isSortProperties());
 		check("GMT", bc.getTimeZone());
 		check("true", bc.isUseEnumNames());
-		check("true", bc.isUseInterfaceProxies());
+		check("true", bc.isDontUseInterfaceProxies());
 		check("true", bc.isUseJavaBeanIntrospector());
 	}
 
@@ -208,17 +208,17 @@ public class BeanConfigAnnotation_Test {
 		check("false", bc.isBeansRequireDefaultConstructor());
 		check("false", bc.isBeansRequireSerializable());
 		check("false", bc.isBeansRequireSettersForGetters());
-		check("true", bc.isBeansRequireSomeProperties());
+		check("false", bc.isBeansDontRequireSomeProperties());
 		check("_type", bc.getBeanTypePropertyName());
 		check("false", bc.isDebug());
 		check("false", bc.isDetectRecursions());
 		check("false", bc.isFluentSetters());
 		check("false", bc.isIgnoreInvocationExceptionsOnGetters());
 		check("false", bc.isIgnoreInvocationExceptionsOnSetters());
-		check("true", bc.isIgnorePropertiesWithoutSetters());
+		check("false", bc.isDontSilentlyIgnoreMissingSetters());
 		check("false", bc.isIgnoreRecursions());
 		check("false", bc.isIgnoreUnknownBeanProperties());
-		check("true", bc.isIgnoreUnknownNullBeanProperties());
+		check("false", bc.isDontIgnoreUnknownNullBeanProperties());
 		check("0", bc.getInitialDepth());
 		check(Locale.getDefault().toString(), bc.getDefaultLocale());
 		check("100", bc.getMaxDepth());
@@ -229,7 +229,7 @@ public class BeanConfigAnnotation_Test {
 		check("false", bc.isSortProperties());
 		check(null, bc.getDefaultTimeZone());
 		check("false", bc.isUseEnumNames());
-		check("true", bc.isUseInterfaceProxies());
+		check("false", bc.isDontUseInterfaceProxies());
 		check("false", bc.isUseJavaBeanIntrospector());
 	}
 
@@ -253,17 +253,17 @@ public class BeanConfigAnnotation_Test {
 		check("false", bc.isBeansRequireDefaultConstructor());
 		check("false", bc.isBeansRequireSerializable());
 		check("false", bc.isBeansRequireSettersForGetters());
-		check("true", bc.isBeansRequireSomeProperties());
+		check("false", bc.isBeansDontRequireSomeProperties());
 		check("_type", bc.getBeanTypePropertyName());
 		check("false", bc.isDebug());
 		check("false", bc.isDetectRecursions());
 		check("false", bc.isFluentSetters());
 		check("false", bc.isIgnoreInvocationExceptionsOnGetters());
 		check("false", bc.isIgnoreInvocationExceptionsOnSetters());
-		check("true", bc.isIgnorePropertiesWithoutSetters());
+		check("false", bc.isDontSilentlyIgnoreMissingSetters());
 		check("false", bc.isIgnoreRecursions());
 		check("false", bc.isIgnoreUnknownBeanProperties());
-		check("true", bc.isIgnoreUnknownNullBeanProperties());
+		check("false", bc.isDontIgnoreUnknownNullBeanProperties());
 		check("0", bc.getInitialDepth());
 		check(Locale.getDefault().toString(), bc.getDefaultLocale());
 		check("100", bc.getMaxDepth());
@@ -274,7 +274,7 @@ public class BeanConfigAnnotation_Test {
 		check("false", bc.isSortProperties());
 		check(null, bc.getDefaultTimeZone());
 		check("false", bc.isUseEnumNames());
-		check("true", bc.isUseInterfaceProxies());
+		check("false", bc.isDontUseInterfaceProxies());
 		check("false", bc.isUseJavaBeanIntrospector());
 	}
 
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java
index b05766a..e46bda8 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/HtmlConfigAnnotation_Test.java
@@ -51,8 +51,8 @@ public class HtmlConfigAnnotation_Test {
 	@HtmlConfig(
 		addBeanTypes="$X{true}",
 		addKeyValueTableHeaders="$X{true}",
-		detectLabelParameters="$X{true}",
-		detectLinksInStrings="$X{true}",
+		dontDetectLabelParameters="$X{true}",
+		dontDetectLinksInStrings="$X{true}",
 		labelParameter="$X{foo}",
 		uriAnchorText="$X{TO_STRING}"
 	)
@@ -65,8 +65,8 @@ public class HtmlConfigAnnotation_Test {
 		HtmlSerializerSession x = HtmlSerializer.create().applyAnnotations(al, sr).build().createSession();
 		check("true", x.isAddBeanTypes());
 		check("true", x.isAddKeyValueTableHeaders());
-		check("true", x.isDetectLabelParameters());
-		check("true", x.isDetectLinksInStrings());
+		check("true", x.isDontDetectLabelParameters());
+		check("true", x.isDontDetectLinksInStrings());
 		check("foo", x.getLabelParameter());
 		check("TO_STRING", x.getUriAnchorText());
 	}
@@ -91,8 +91,8 @@ public class HtmlConfigAnnotation_Test {
 		HtmlSerializerSession x = HtmlSerializer.create().applyAnnotations(al, sr).build().createSession();
 		check("false", x.isAddBeanTypes());
 		check("false", x.isAddKeyValueTableHeaders());
-		check("true", x.isDetectLabelParameters());
-		check("true", x.isDetectLinksInStrings());
+		check("false", x.isDontDetectLabelParameters());
+		check("false", x.isDontDetectLinksInStrings());
 		check("label", x.getLabelParameter());
 		check("TO_STRING", x.getUriAnchorText());
 	}
@@ -116,8 +116,8 @@ public class HtmlConfigAnnotation_Test {
 		HtmlSerializerSession x = HtmlSerializer.create().applyAnnotations(al, sr).build().createSession();
 		check("false", x.isAddBeanTypes());
 		check("false", x.isAddKeyValueTableHeaders());
-		check("true", x.isDetectLabelParameters());
-		check("true", x.isDetectLinksInStrings());
+		check("false", x.isDontDetectLabelParameters());
+		check("false", x.isDontDetectLinksInStrings());
 		check("label", x.getLabelParameter());
 		check("TO_STRING", x.getUriAnchorText());
 	}
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java
index c63e033..d2a9f16 100755
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/html/Html_Test.java
@@ -178,7 +178,7 @@ public class Html_Test {
 			+"\n[fe]=http://www.apache.org/fe/xe?foo=bar&amp;label2=MY_LABEL";
 			assertEquals(expected, r);
 
-			s.set(HtmlSerializer.HTML_detectLinksInStrings, true);
+			s.set(HtmlSerializer.HTML_dontDetectLinksInStrings, false);
 			s.dontDetectLabelParameters();
 			r = strip(s.build().serialize(t));
 			expected = ""
diff --git a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java
index 0467dc4..56b005c 100644
--- a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java
+++ b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/xml/XmlConfigAnnotationTest.java
@@ -89,7 +89,7 @@ public class XmlConfigAnnotationTest {
 	@XmlConfig(
 		addBeanTypes="$X{true}",
 		addNamespaceUrisToRoot="$X{true}",
-		autoDetectNamespaces="$X{true}",
+		dontAutoDetectNamespaces="$X{true}",
 		defaultNamespace="$X{foo}",
 		enableNamespaces="$X{true}",
 		eventAllocator=AA.class,
@@ -108,7 +108,7 @@ public class XmlConfigAnnotationTest {
 		XmlSerializerSession x = XmlSerializer.create().applyAnnotations(al, sr).build().createSession();
 		check("true", x.isAddBeanTypes());
 		check("true", x.isAddNamespaceUrisToRoot());
-		check("true", x.isAutoDetectNamespaces());
+		check("true", x.isDontAutoDetectNamespaces());
 		check("foo:null", x.getDefaultNamespace());
 		check("true", x.isEnableNamespaces());
 		check("[foo:null]", x.getNamespaces());
@@ -139,7 +139,7 @@ public class XmlConfigAnnotationTest {
 		XmlSerializerSession x = XmlSerializer.create().applyAnnotations(al, sr).build().createSession();
 		check("false", x.isAddBeanTypes());
 		check("false", x.isAddNamespaceUrisToRoot());
-		check("true", x.isAutoDetectNamespaces());
+		check("false", x.isDontAutoDetectNamespaces());
 		check("juneau:http://www.apache.org/2013/Juneau", x.getDefaultNamespace());
 		check("false", x.isEnableNamespaces());
 		check("[]", x.getNamespaces());
@@ -169,7 +169,7 @@ public class XmlConfigAnnotationTest {
 		XmlSerializerSession x = XmlSerializer.create().applyAnnotations(al, sr).build().createSession();
 		check("false", x.isAddBeanTypes());
 		check("false", x.isAddNamespaceUrisToRoot());
-		check("true", x.isAutoDetectNamespaces());
+		check("false", x.isDontAutoDetectNamespaces());
 		check("juneau:http://www.apache.org/2013/Juneau", x.getDefaultNamespace());
 		check("false", x.isEnableNamespaces());
 		check("[]", x.getNamespaces());
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
index 1ea49ff..4946a81 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
@@ -1027,8 +1027,8 @@ public class RdfParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public RdfParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
index e7aeb0e..c28c5a8 100644
--- a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
+++ b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
@@ -1187,8 +1187,8 @@ public class RdfSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RdfSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public RdfSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index 7114bd4..593a299 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
@@ -570,14 +570,61 @@ public class BeanContext extends Context implements MetaProvider {
 	public static final String BEAN_beanDictionary = PREFIX + ".beanDictionary.lc";
 
 	/**
-	 * Configuration property:  Add to bean dictionary.
-	 */
-	public static final String BEAN_beanDictionary_add = PREFIX + ".beanDictionary.lc/add";
-
-	/**
-	 * Configuration property:  Remove from bean dictionary.
+	 * Configuration property:  Beans don't require at least one property.
+	 *
+	 * <h5 class='section'>Property:</h5>
+	 * <ul class='spaced-list'>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_beansDontRequireSomeProperties BEAN_beansDontRequireSomeProperties}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.beansDontRequireSomeProperties.b"</js>
+	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
+	 * 	<li><b>System property:</b>  <c>BeanContext.beansDontRequireSomeProperties</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_BEANSDONTREQUIRESOMEPROPERTIES</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
+	 * 	<li><b>Session property:</b>  <jk>true</jk>
+	 * 	<li><b>Annotations:</b>
+	 * 		<ul>
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#beansDontRequireSomeProperties()}
+	 * 		</ul>
+	 * 	<li><b>Methods:</b>
+	 * 		<ul>
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#beansDontRequireSomeProperties()}
+	 * 		</ul>
+	 * </ul>
+	 *
+	 * <h5 class='section'>Description:</h5>
+	 *
+	 * <p>
+	 * When enabled, then a Java class doesn't need to contain at least 1 property to be considered a bean.
+	 * Otherwise, the bean will be serialized as a string using the {@link Object#toString()} method.
+	 *
+	 * <h5 class='section'>Example:</h5>
+	 * <p class='bcode w800'>
+	 * 	<jc>// A bean with no properties.</jc>
+	 * 	<jk>public class</jk> MyBean {
+	 * 	}
+	 *
+	 * 	<jc>// Create a serializer that serializes beans even if they have zero properties.</jc>
+	 * 	WriterSerializer s = JsonSerializer
+	 * 		.<jsm>create</jsm>()
+	 * 		.beansDontRequireSomeProperties()
+	 * 		.build();
+	 *
+	 * 	<jc>// Same, but use property.</jc>
+	 * 	WriterSerializer s = JsonSerializer
+	 * 		.<jsm>create</jsm>()
+	 * 		.set(<jsf>BEAN_beansDontRequireSomeProperties</jsf>, <jk>true</jk>)
+	 * 		.build();
+	 *
+	 * 	<jc>// Produces:  {}</jc>
+	 * 	String json = s.serialize(<jk>new</jk> MyBean());
+	 * </p>
+	 *
+	 * <ul class='notes'>
+	 * 	<li>The {@link Bean @Bean} annotation can be used on the class to force it to be recognized as a bean class
+	 * 		even if it has no properties.
+	 * </ul>
 	 */
-	public static final String BEAN_beanDictionary_remove = PREFIX + ".beanDictionary.lc/remove";
+	public static final String BEAN_beansDontRequireSomeProperties = PREFIX + ".beansDontRequireSomeProperties.b";
 
 	/**
 	 * Configuration property:  Minimum bean field visibility.
@@ -964,66 +1011,6 @@ public class BeanContext extends Context implements MetaProvider {
 	public static final String BEAN_beansRequireSettersForGetters = PREFIX + ".beansRequireSettersForGetters.b";
 
 	/**
-	 * Configuration property:  Beans require at least one property.
-	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_beansRequireSomeProperties BEAN_beansRequireSomeProperties}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.beansRequireSomeProperties.b"</js>
-	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.beansRequireSomeProperties</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_BEANSREQUIRESOMEPROPERTIES</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#beansRequireSomeProperties()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#beansDontRequireSomeProperties()}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 *
-	 * <p>
-	 * When enabled, then a Java class must contain at least 1 property to be considered a bean.
-	 * Otherwise, the bean will be serialized as a string using the {@link Object#toString()} method.
-	 *
-	 * <p>
-	 * The {@link Bean @Bean} annotation can be used on a class to override this setting when <jk>true</jk>.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// A bean with no properties.</jc>
-	 * 	<jk>public class</jk> MyBean {
-	 * 	}
-	 *
-	 * 	<jc>// Create a serializer that serializes beans even if they have zero properties.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.beansDontRequireSomeProperties()
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	WriterSerializer s = JsonSerializer
-	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_beansRequireSomeProperties</jsf>, <jk>false</jk>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Produces:  {}</jc>
-	 * 	String json = s.serialize(<jk>new</jk> MyBean());
-	 * </p>
-	 *
-	 * <ul class='notes'>
-	 * 	<li>The {@link Bean @Bean} annotation can be used on the class to force it to be recognized as a bean class
-	 * 		even if it has no properties.
-	 * </ul>
-	 */
-	public static final String BEAN_beansRequireSomeProperties = PREFIX + ".beansRequireSomeProperties.b";
-
-	/**
 	 * Configuration property:  Bean type property name.
 	 *
 	 * <h5 class='section'>Property:</h5>
@@ -1091,376 +1078,407 @@ public class BeanContext extends Context implements MetaProvider {
 	public static final String BEAN_typePropertyName = PREFIX + ".typePropertyName.s";
 
 	/**
-	 * Configuration property:  Find fluent setters.
+	 * Configuration property:  Don't ignore transient fields.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_fluentSetters BEAN_fluentSetters}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.fluentSetters.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_dontIgnoreTransientFields BEAN_dontIgnoreTransientFields}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.dontIgnoreTransientFields.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.fluentSetters</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_FLUENTSETTERS</c>
+	 * 	<li><b>System property:</b>  <c>BeanContext.dontIgnoreTransientFields</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_DONTIGNORETRANSIENTFIELDS</c>
 	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Bean#fluentSetters()}
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#fluentSetters()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#dontIgnoreTransientFields()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#fluentSetters()}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontIgnoreTransientFields()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 *
 	 * <p>
-	 * When enabled, fluent setters are detected on beans during parsing.
-	 *
-	 * <p>
-	 * Fluent setters must have the following attributes:
-	 * <ul>
-	 * 	<li>Public.
-	 * 	<li>Not static.
-	 * 	<li>Take in one parameter.
-	 * 	<li>Return the bean itself.
-	 * </ul>
+	 * When enabled, methods and fields marked as <jk>transient</jk> will not be ignored as bean properties.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
-	 * 	<jc>// A bean with a fluent setter.</jc>
+	 * 	<jc>// A bean with a transient field.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public</jk> MyBean foo(String value) {...}
+	 * 		<jk>public transient</jk> String foo = <js>"foo"</js>;
 	 * 	}
 	 *
-	 * 	<jc>// Create a parser that finds fluent setters.</jc>
+	 * 	<jc>// Create a parser that doesn't ignore transient fields.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.fluentSetters()
+	 * 		.dontIgnoreTransientFields()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_fluentSetters</jsf>, <jk>true</jk>)
+	 * 		.set(<jsf>BEAN_dontIgnoreTransientFields</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// Parse into bean using fluent setter.</jc>
-	 * 	MyBean b = p.parse(<js>"{foo:'bar'}"</js>);
+	 * 	<jc>// Produces:  {"foo":"foo"}</jc>
+	 * 	String json = s.serialize(<jk>new</jk> MyBean());
 	 * </p>
 	 *
 	 * <ul class='notes'>
-	 * 	<li>The {@link Beanp @Beanp} annotation can also be used on methods to individually identify them as fluent setters.
-	 * 	<li>The {@link Bean#fluentSetters() @Bean.fluentSetters()} annotation can also be used on classes to specify to look for fluent setters.
+	 * 	<li>The {@link Beanp @Beanp} annotation can also be used on transient fields to keep them from being ignored.
 	 * </ul>
 	 */
-	public static final String BEAN_fluentSetters = PREFIX + ".fluentSetters.b";
+	public static final String BEAN_dontIgnoreTransientFields = PREFIX + ".dontIgnoreTransientFields.b";
 
 	/**
-	 * Configuration property:  Ignore invocation errors on getters.
+	 * Configuration property:  Don't ignore unknown properties with null values.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreInvocationExceptionsOnGetters BEAN_ignoreInvocationExceptionsOnGetters}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreInvocationExceptionsOnGetters.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_dontIgnoreUnknownNullBeanProperties BEAN_dontIgnoreUnknownNullBeanProperties}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.dontIgnoreUnknownNullBeanProperties.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreInvocationExceptionsOnGetters</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREINVOCATIONEXCEPTIONONGETTERS</c>
+	 * 	<li><b>System property:</b>  <c>BeanContext.dontIgnoreUnknownNullBeanProperties</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_DONTIGNOREUNKNOWNNULLBEANPROPERTIES</c>
 	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnGetters()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#dontIgnoreUnknownNullBeanProperties()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnGetters()}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontIgnoreUnknownNullBeanProperties()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 *
 	 * <p>
-	 * When enabled, errors thrown when calling bean getter methods will silently be ignored.
-	 * Otherwise, a {@code BeanRuntimeException} is thrown.
+	 * When enabled, trying to set a <jk>null</jk> value on a non-existent bean property will throw a {@link BeanRuntimeException}.
+	 * Otherwise it will be silently ignored.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
-	 * 	<jc>// A bean with a property that throws an exception.</jc>
+	 * 	<jc>// A bean with a single property.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public</jk> String getFoo() {
-	 * 			<jk>throw new</jk> RuntimeException(<js>"foo"</js>);
-	 * 		}
+	 * 		<jk>public</jk> String foo;
 	 * 	}
 	 *
-	 * 	<jc>// Create a serializer that ignores bean getter exceptions.</jc>
-	 * 	WriterSerializer s = JsonSerializer
+	 * 	<jc>// Create a parser that throws an exception on an unknown property even if the value being set is null.</jc>
+	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.ingoreInvocationExceptionsOnGetters()
+	 * 		.dontIgnoreUnknownNullBeanProperties()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
-	 * 	WriterSerializer s = JsonSerializer
+	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignoreInvocationExceptionsOnGetters</jsf>, <jk>true</jk>)
+	 * 		.set(<jsf>BEAN_dontIgnoreUnknownNullBeanProperties</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// Exception is ignored.</jc>
-	 * 	String json = s.serialize(<jk>new</jk> MyBean());
+	 * 	<jc>// Throws a BeanRuntimeException wrapped in a ParseException on the unknown 'bar' property.</jc>
+	 * 	MyBean b = p.parse(<js>"{foo:'foo',bar:null}"</js>, MyBean.<jk>class</jk>);
 	 * </p>
 	 */
-	public static final String BEAN_ignoreInvocationExceptionsOnGetters = PREFIX + ".ignoreInvocationExceptionsOnGetters.b";
+	public static final String BEAN_dontIgnoreUnknownNullBeanProperties = PREFIX + ".dontIgnoreUnknownNullBeanProperties.b";
 
 	/**
-	 * Configuration property:  Ignore invocation errors on setters.
+	 * Configuration property:  Don't silently ignore missing setters.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreInvocationExceptionsOnSetters BEAN_ignoreInvocationExceptionsOnSetters}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreInvocationExceptionsOnSetters.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_dontSilentlyIgnoreMissingSetters BEAN_dontSilentlyIgnoreMissingSetters}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.dontSilentlyIgnoreMissingSetters.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreInvocationExceptionsOnSetters</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREINVOCATIONEXCEPTIONSONSETTERS</c>
+	 * 	<li><b>System property:</b>  <c>BeanContext.dontSilentlyIgnoreMissingSetters</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_DONTSILENTLYIGNOREMISSINGSETTERS</c>
 	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnSetters()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#dontSilentlyIgnoreMissingSetters()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnSetters()}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontSilentlyIgnoreMissingSetters()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 *
 	 * <p>
-	 * When enabled, errors thrown when calling bean setter methods will silently be ignored.
-	 * Otherwise, a {@code BeanRuntimeException} is thrown.
+	 * When enabled, trying to set a value on a bean property without a setter will throw a {@link BeanRuntimeException}.
+	 * Otherwise, it will be silently ignored.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
-	 * 	<jc>// A bean with a property that throws an exception.</jc>
+	 * 	<jc>// A bean with a property with a getter but not a setter.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public void</jk> setFoo(String foo) {
-	 * 			<jk>throw new</jk> RuntimeException(<js>"foo"</js>);
+	 * 		<jk>public void</jk> getFoo() {
+	 * 			<jk>return</jk> <js>"foo"</js>;
 	 * 		}
 	 * 	}
 	 *
-	 * 	<jc>// Create a parser that ignores bean setter exceptions.</jc>
+	 * 	<jc>// Create a parser that throws an exception if a setter is not found but a getter is.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.ignoreInvocationExceptionsOnSetters()
+	 * 		.dontSilentlyIgnoreMissingSetters()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignoreInvocationExceptionsOnSetters</jsf>, <jk>true</jk>)
+	 * 		.set(<jsf>BEAN_dontSilentlyIgnoreMissingSetters</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// Exception is ignored.</jc>
+	 * 	<jc>// Throws a ParseException.</jc>
 	 * 	MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
 	 * </p>
+	 *
+	 * <ul class='notes'>
+	 * 	<li>The {@link BeanIgnore @BeanIgnore} annotation can also be used on getters and fields to ignore them.
+	 * </ul>
 	 */
-	public static final String BEAN_ignoreInvocationExceptionsOnSetters = PREFIX + ".ignoreInvocationExceptionsOnSetters.b";
+	public static final String BEAN_dontSilentlyIgnoreMissingSetters = PREFIX + ".dontSilentlyIgnoreMissingSetters.b";
 
 	/**
-	 * Configuration property:  Ignore properties without setters.
+	 * Configuration property:  Don't use interface proxies.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignorePropertiesWithoutSetters BEAN_ignorePropertiesWithoutSetters}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.ignorePropertiesWithoutSetters.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_dontUseInterfaceProxies BEAN_dontUseInterfaceProxies}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.dontUseInterfaceProxies.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.ignorePropertiesWithoutSetters</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREPROPERTIESWITHOUTSETTERS</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
+	 * 	<li><b>System property:</b>  <c>BeanContext.dontUseInterfaceProxies</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_DONTUSEINTERFACEPROXIES</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignorePropertiesWithoutSetters()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#dontUseInterfaceProxies()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontIgnorePropertiesWithoutSetters()}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontUseInterfaceProxies()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 *
 	 * <p>
-	 * When enabled, trying to set a value on a bean property without a setter will silently be ignored.
-	 * Otherwise, a {@code BeanRuntimeException} is thrown.
+	 * When <jk>false</jk>, interfaces will be instantiated as proxy classes through the use of an
+	 * {@link InvocationHandler} if there is no other way of instantiating them.
+	 * Otherwise, throws a {@link BeanRuntimeException}.
+	 */
+	public static final String BEAN_dontUseInterfaceProxies = PREFIX + ".dontUseInterfaceProxies.b";
+
+	/**
+	 * Configuration property:  Find fluent setters.
+	 *
+	 * <h5 class='section'>Property:</h5>
+	 * <ul class='spaced-list'>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_fluentSetters BEAN_fluentSetters}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.fluentSetters.b"</js>
+	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
+	 * 	<li><b>System property:</b>  <c>BeanContext.fluentSetters</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_FLUENTSETTERS</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
+	 * 	<li><b>Session property:</b>  <jk>false</jk>
+	 * 	<li><b>Annotations:</b>
+	 * 		<ul>
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.Bean#fluentSetters()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#fluentSetters()}
+	 * 		</ul>
+	 * 	<li><b>Methods:</b>
+	 * 		<ul>
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#fluentSetters()}
+	 * 		</ul>
+	 * </ul>
+	 *
+	 * <h5 class='section'>Description:</h5>
+	 *
+	 * <p>
+	 * When enabled, fluent setters are detected on beans during parsing.
+	 *
+	 * <p>
+	 * Fluent setters must have the following attributes:
+	 * <ul>
+	 * 	<li>Public.
+	 * 	<li>Not static.
+	 * 	<li>Take in one parameter.
+	 * 	<li>Return the bean itself.
+	 * </ul>
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
-	 * 	<jc>// A bean with a property with a getter but not a setter.</jc>
+	 * 	<jc>// A bean with a fluent setter.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public void</jk> getFoo() {
-	 * 			<jk>return</jk> <js>"foo"</js>;
-	 * 		}
+	 * 		<jk>public</jk> MyBean foo(String value) {...}
 	 * 	}
 	 *
-	 * 	<jc>// Create a parser that throws an exception if a setter is not found but a getter is.</jc>
+	 * 	<jc>// Create a parser that finds fluent setters.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.dontIgnorePropertiesWithoutSetters()
+	 * 		.fluentSetters()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignorePropertiesWithoutSetters</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_fluentSetters</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// Throws a ParseException.</jc>
-	 * 	MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
+	 * 	<jc>// Parse into bean using fluent setter.</jc>
+	 * 	MyBean b = p.parse(<js>"{foo:'bar'}"</js>);
 	 * </p>
 	 *
 	 * <ul class='notes'>
-	 * 	<li>The {@link BeanIgnore @BeanIgnore} annotation can also be used on getters and fields to ignore them.
+	 * 	<li>The {@link Beanp @Beanp} annotation can also be used on methods to individually identify them as fluent setters.
+	 * 	<li>The {@link Bean#fluentSetters() @Bean.fluentSetters()} annotation can also be used on classes to specify to look for fluent setters.
 	 * </ul>
 	 */
-	public static final String BEAN_ignorePropertiesWithoutSetters = PREFIX + ".ignorePropertiesWithoutSetters.b";
+	public static final String BEAN_fluentSetters = PREFIX + ".fluentSetters.b";
 
 	/**
-	 * Configuration property:  Ignore transient fields.
+	 * Configuration property:  Ignore invocation errors on getters.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreTransientFields BEAN_ignoreTransientFields}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreTransientFields.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreInvocationExceptionsOnGetters BEAN_ignoreInvocationExceptionsOnGetters}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreInvocationExceptionsOnGetters.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreTransientFields</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNORETRANSIENTFIELDS</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
+	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreInvocationExceptionsOnGetters</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREINVOCATIONEXCEPTIONONGETTERS</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreTransientFields()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnGetters()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontIgnoreTransientFields()}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnGetters()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 *
 	 * <p>
-	 * When enabled, methods and fields marked as <jk>transient</jk> will be ignored as bean properties.
+	 * When enabled, errors thrown when calling bean getter methods will silently be ignored.
+	 * Otherwise, a {@code BeanRuntimeException} is thrown.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
-	 * 	<jc>// A bean with a transient field.</jc>
+	 * 	<jc>// A bean with a property that throws an exception.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public transient</jk> String foo = <js>"foo"</js>;
+	 * 		<jk>public</jk> String getFoo() {
+	 * 			<jk>throw new</jk> RuntimeException(<js>"foo"</js>);
+	 * 		}
 	 * 	}
 	 *
-	 * 	<jc>// Create a parser that doesn't ignore transient fields.</jc>
-	 * 	ReaderParser p = JsonParser
+	 * 	<jc>// Create a serializer that ignores bean getter exceptions.</jc>
+	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.dontIgnoreTransientFields()
+	 * 		.ingoreInvocationExceptionsOnGetters()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
-	 * 	ReaderParser p = JsonParser
+	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignoreTransientFields</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_ignoreInvocationExceptionsOnGetters</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// Produces:  {"foo":"foo"}</jc>
+	 * 	<jc>// Exception is ignored.</jc>
 	 * 	String json = s.serialize(<jk>new</jk> MyBean());
 	 * </p>
-	 *
-	 * <ul class='notes'>
-	 * 	<li>The {@link Beanp @Beanp} annotation can also be used on transient fields to keep them from being ignored.
-	 * </ul>
 	 */
-	public static final String BEAN_ignoreTransientFields = PREFIX + ".ignoreTransientFields.b";
+	public static final String BEAN_ignoreInvocationExceptionsOnGetters = PREFIX + ".ignoreInvocationExceptionsOnGetters.b";
 
 	/**
-	 * Configuration property:  Ignore unknown properties.
+	 * Configuration property:  Ignore invocation errors on setters.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreUnknownBeanProperties BEAN_ignoreUnknownBeanProperties}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreUnknownBeanProperties.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreInvocationExceptionsOnSetters BEAN_ignoreInvocationExceptionsOnSetters}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreInvocationExceptionsOnSetters.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreUnknownBeanProperties</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREUNKNOWNBEANPROPERTIES</c>
+	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreInvocationExceptionsOnSetters</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREINVOCATIONEXCEPTIONSONSETTERS</c>
 	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreUnknownBeanProperties()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnSetters()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#ignoreUnknownBeanProperties()}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnSetters()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 *
 	 * <p>
-	 * When enabled, trying to set a value on a non-existent bean property will silently be ignored.
+	 * When enabled, errors thrown when calling bean setter methods will silently be ignored.
 	 * Otherwise, a {@code BeanRuntimeException} is thrown.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
-	 * 	<jc>// A bean with a single property.</jc>
+	 * 	<jc>// A bean with a property that throws an exception.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public</jk> String foo;
+	 * 		<jk>public void</jk> setFoo(String foo) {
+	 * 			<jk>throw new</jk> RuntimeException(<js>"foo"</js>);
+	 * 		}
 	 * 	}
 	 *
-	 * 	<jc>// Create a parser that ignores missing bean properties.</jc>
+	 * 	<jc>// Create a parser that ignores bean setter exceptions.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.ignoreUnknownBeanProperties()
+	 * 		.ignoreInvocationExceptionsOnSetters()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignoreUnknownBeanProperties</jsf>, <jk>true</jk>)
+	 * 		.set(<jsf>BEAN_ignoreInvocationExceptionsOnSetters</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// Doesn't throw an exception on unknown 'bar' property.</jc>
-	 * 	MyBean b = p.parse(<js>"{foo:'foo',bar:'bar'}"</js>, MyBean.<jk>class</jk>);
+	 * 	<jc>// Exception is ignored.</jc>
+	 * 	MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
 	 * </p>
 	 */
-	public static final String BEAN_ignoreUnknownBeanProperties = PREFIX + ".ignoreUnknownBeanProperties.b";
+	public static final String BEAN_ignoreInvocationExceptionsOnSetters = PREFIX + ".ignoreInvocationExceptionsOnSetters.b";
 
 	/**
-	 * Configuration property:  Ignore unknown properties with null values.
+	 * Configuration property:  Ignore unknown properties.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreUnknownNullBeanProperties BEAN_ignoreUnknownNullBeanProperties}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreUnknownNullBeanProperties.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_ignoreUnknownBeanProperties BEAN_ignoreUnknownBeanProperties}
+	 * 	<li><b>Name:</b>  <js>"BeanContext.ignoreUnknownBeanProperties.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreUnknownNullBeanProperties</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREUNKNOWNNULLBEANPROPERTIES</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
+	 * 	<li><b>System property:</b>  <c>BeanContext.ignoreUnknownBeanProperties</c>
+	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_IGNOREUNKNOWNBEANPROPERTIES</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreUnknownNullBeanProperties()}
+	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#ignoreUnknownBeanProperties()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontIgnoreUnknownNullBeanProperties()}
+	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#ignoreUnknownBeanProperties()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 *
 	 * <p>
-	 * When enabled, trying to set a <jk>null</jk> value on a non-existent bean property will silently be ignored.
+	 * When enabled, trying to set a value on a non-existent bean property will silently be ignored.
 	 * Otherwise, a {@code BeanRuntimeException} is thrown.
 	 *
 	 * <h5 class='section'>Example:</h5>
@@ -1470,23 +1488,23 @@ public class BeanContext extends Context implements MetaProvider {
 	 * 		<jk>public</jk> String foo;
 	 * 	}
 	 *
-	 * 	<jc>// Create a parser that throws an exception on an unknown property even if the value being set is null.</jc>
+	 * 	<jc>// Create a parser that ignores missing bean properties.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.dontIgnoreUnknownNullBeanProperties()
+	 * 		.ignoreUnknownBeanProperties()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignoreUnknownNullBeanProperties</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_ignoreUnknownBeanProperties</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	<jc>// Throws a BeanRuntimeException wrapped in a ParseException on the unknown 'bar' property.</jc>
-	 * 	MyBean b = p.parse(<js>"{foo:'foo',bar:null}"</js>, MyBean.<jk>class</jk>);
+	 * 	<jc>// Doesn't throw an exception on unknown 'bar' property.</jc>
+	 * 	MyBean b = p.parse(<js>"{foo:'foo',bar:'bar'}"</js>, MyBean.<jk>class</jk>);
 	 * </p>
 	 */
-	public static final String BEAN_ignoreUnknownNullBeanProperties = PREFIX + ".ignoreUnknownNullBeanProperties.b";
+	public static final String BEAN_ignoreUnknownBeanProperties = PREFIX + ".ignoreUnknownBeanProperties.b";
 
 	/**
 	 * Configuration property:  Bean class exclusions.
@@ -1556,16 +1574,6 @@ public class BeanContext extends Context implements MetaProvider {
 	public static final String BEAN_notBeanClasses = PREFIX + ".notBeanClasses.sc";
 
 	/**
-	 * Configuration property:  Add to classes that should not be considered beans.
-	 */
-	public static final String BEAN_notBeanClasses_add = PREFIX + ".notBeanClasses.sc/add";
-
-	/**
-	 * Configuration property:  Remove from classes that should not be considered beans.
-	 */
-	public static final String BEAN_notBeanClasses_remove = PREFIX + ".notBeanClasses.sc/remove";
-
-	/**
 	 * Configuration property:  Bean package exclusions.
 	 *
 	 * <h5 class='section'>Property:</h5>
@@ -1632,16 +1640,6 @@ public class BeanContext extends Context implements MetaProvider {
 	public static final String BEAN_notBeanPackages = PREFIX + ".notBeanPackages.ss";
 
 	/**
-	 * Configuration property:  Add to packages whose classes should not be considered beans.
-	 */
-	public static final String BEAN_notBeanPackages_add = PREFIX + ".notBeanPackages.ss/add";
-
-	/**
-	 * Configuration property:  Remove from packages whose classes should not be considered beans.
-	 */
-	public static final String BEAN_notBeanPackages_remove = PREFIX + ".notBeanPackages.ss/remove";
-
-	/**
 	 * Configuration property:  Bean property namer.
 	 *
 	 * <h5 class='section'>Property:</h5>
@@ -1877,16 +1875,6 @@ public class BeanContext extends Context implements MetaProvider {
 	public static final String BEAN_swaps = PREFIX + ".swaps.lo";
 
 	/**
-	 * Configuration property:  Add to swap classes.
-	 */
-	public static final String BEAN_swaps_add = PREFIX + ".swaps.lo/add";
-
-	/**
-	 * Configuration property:  Remove from swap classes.
-	 */
-	public static final String BEAN_swaps_remove = PREFIX + ".swaps.lo/remove";
-
-	/**
 	 * Configuration property:  Use enum names.
 	 *
 	 * <h5 class='section'>Property:</h5>
@@ -1950,60 +1938,6 @@ public class BeanContext extends Context implements MetaProvider {
 	public static final String BEAN_useEnumNames = PREFIX + ".useEnumNames.b";
 
 	/**
-	 * Configuration property:  Use interface proxies.
-	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.BeanContext#BEAN_useInterfaceProxies BEAN_useInterfaceProxies}
-	 * 	<li><b>Name:</b>  <js>"BeanContext.useInterfaceProxies.b"</js>
-	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>BeanContext.useInterfaceProxies</c>
-	 * 	<li><b>Environment variable:</b>  <c>BEANCONTEXT_USEINTERFACEPROXIES</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.annotation.BeanConfig#useInterfaceProxies()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.BeanContextBuilder#dontUseInterfaceProxies()}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <h5 class='section'>Description:</h5>
-	 *
-	 * <p>
-	 * When enabled, interfaces will be instantiated as proxy classes through the use of an
-	 * {@link InvocationHandler} if there is no other way of instantiating them.
-	 * Otherwise, throws a {@link BeanRuntimeException}.
-	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// An interface with a single getter.</jc>
-	 * 	<jk>public interface</jk> MyBean {
-	 * 		String getFoo();
-	 * 		<jk>void</jk> setFoo(String foo);
-	 * 	}
-	 *
-	 * 	<jc>// Create a parser that uses interface proxies.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_useInterfaceProxies</jsf>, <jk>true</jk>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Creates a proxy implementation of a MyBean interface.</jc>
-	 * 	MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
-	 * </p>
-	 */
-	public static final String BEAN_useInterfaceProxies = PREFIX + ".useInterfaceProxies.b";
-
-	/**
 	 * Configuration property:  Use Java Introspector.
 	 *
 	 * <h5 class='section'>Property:</h5>
@@ -2096,13 +2030,13 @@ public class BeanContext extends Context implements MetaProvider {
 		beansRequireDefaultConstructor,
 		beansRequireSerializable,
 		beansRequireSettersForGetters,
-		beansRequireSomeProperties,
+		beansDontRequireSomeProperties,
 		beanMapPutReturnsOldValue,
-		useInterfaceProxies,
+		dontUseInterfaceProxies,
 		ignoreUnknownBeanProperties,
-		ignoreUnknownNullBeanProperties,
-		ignorePropertiesWithoutSetters,
-		ignoreTransientFields,
+		dontIgnoreUnknownNullBeanProperties,
+		dontSilentlyIgnoreMissingSetters,
+		dontIgnoreTransientFields,
 		ignoreInvocationExceptionsOnGetters,
 		ignoreInvocationExceptionsOnSetters,
 		useJavaBeanIntrospector,
@@ -2178,14 +2112,14 @@ public class BeanContext extends Context implements MetaProvider {
 		beansRequireDefaultConstructor = getBooleanProperty(BEAN_beansRequireDefaultConstructor, false);
 		beansRequireSerializable = getBooleanProperty(BEAN_beansRequireSerializable, false);
 		beansRequireSettersForGetters = getBooleanProperty(BEAN_beansRequireSettersForGetters, false);
-		beansRequireSomeProperties = getBooleanProperty(BEAN_beansRequireSomeProperties, true);
+		beansDontRequireSomeProperties = getBooleanProperty(BEAN_beansDontRequireSomeProperties, false);
 		beanMapPutReturnsOldValue = getBooleanProperty(BEAN_beanMapPutReturnsOldValue, false);
 		useEnumNames = getBooleanProperty(BEAN_useEnumNames, false);
-		useInterfaceProxies = getBooleanProperty(BEAN_useInterfaceProxies, true);
+		dontUseInterfaceProxies = getBooleanProperty(BEAN_dontUseInterfaceProxies, false);
 		ignoreUnknownBeanProperties = getBooleanProperty(BEAN_ignoreUnknownBeanProperties, false);
-		ignoreUnknownNullBeanProperties = getBooleanProperty(BEAN_ignoreUnknownNullBeanProperties, true);
-		ignorePropertiesWithoutSetters = getBooleanProperty(BEAN_ignorePropertiesWithoutSetters, true);
-		ignoreTransientFields = getBooleanProperty(BEAN_ignoreTransientFields, true);
+		dontIgnoreUnknownNullBeanProperties = getBooleanProperty(BEAN_dontIgnoreUnknownNullBeanProperties, false);
+		dontSilentlyIgnoreMissingSetters = getBooleanProperty(BEAN_dontSilentlyIgnoreMissingSetters, false);
+		dontIgnoreTransientFields = getBooleanProperty(BEAN_dontIgnoreTransientFields, false);
 		ignoreInvocationExceptionsOnGetters = getBooleanProperty(BEAN_ignoreInvocationExceptionsOnGetters, false);
 		ignoreInvocationExceptionsOnSetters = getBooleanProperty(BEAN_ignoreInvocationExceptionsOnSetters, false);
 		useJavaBeanIntrospector = getBooleanProperty(BEAN_useJavaBeanIntrospector, false);
@@ -3377,15 +3311,15 @@ public class BeanContext extends Context implements MetaProvider {
 	}
 
 	/**
-	 * Beans require at least one property.
+	 * Beans don't require at least one property.
 	 *
-	 * @see #BEAN_beansRequireSomeProperties
+	 * @see #BEAN_beansDontRequireSomeProperties
 	 * @return
-	 * 	<jk>true</jk> if a Java class must contain at least 1 property to be considered a bean.
+	 * 	<jk>true</jk> if a Java class doesn't need to contain at least 1 property to be considered a bean.
 	 * 	<br>Otherwise, the bean is serialized as a string using the {@link Object#toString()} method.
 	 */
-	public final boolean isBeansRequireSomeProperties() {
-		return beansRequireSomeProperties;
+	public final boolean isBeansDontRequireSomeProperties() {
+		return beansDontRequireSomeProperties;
 	}
 
 	/**
@@ -3436,25 +3370,25 @@ public class BeanContext extends Context implements MetaProvider {
 	}
 
 	/**
-	 * Ignore properties without setters.
+	 * Don't silently ignore missing setters.
 	 *
-	 * @see #BEAN_ignorePropertiesWithoutSetters
+	 * @see #BEAN_dontSilentlyIgnoreMissingSetters
 	 * @return
-	 * 	<jk>true</jk> if trying to set a value on a bean property without a setter is silently ignored.
+	 * 	<jk>true</jk> if trying to set a value on a bean property without a setter should throw a {@link BeanRuntimeException}.
 	 */
-	public final boolean isIgnorePropertiesWithoutSetters() {
-		return ignorePropertiesWithoutSetters;
+	public final boolean isDontSilentlyIgnoreMissingSetters() {
+		return dontSilentlyIgnoreMissingSetters;
 	}
 
 	/**
-	 * Ignore transient fields.
+	 * Don't ignore transient fields.
 	 *
-	 * @see #BEAN_ignoreTransientFields
+	 * @see #BEAN_dontIgnoreTransientFields
 	 * @return
-	 * 	<jk>true</jk> if fields and methods marked as transient should be ignored.
+	 * 	<jk>true</jk> if fields and methods marked as transient should not be ignored.
 	 */
-	protected final boolean isIgnoreTransientFields() {
-		return ignoreTransientFields;
+	protected final boolean isDontIgnoreTransientFields() {
+		return dontIgnoreTransientFields;
 	}
 
 	/**
@@ -3470,14 +3404,14 @@ public class BeanContext extends Context implements MetaProvider {
 	}
 
 	/**
-	 * Ignore unknown properties with null values.
+	 * Don't ignore unknown properties with null values.
 	 *
-	 * @see #BEAN_ignoreUnknownNullBeanProperties
+	 * @see #BEAN_dontIgnoreUnknownNullBeanProperties
 	 * @return
-	 * 	<jk>true</jk> if trying to set a <jk>null</jk> value on a non-existent bean property is silently ignored.
+	 * 	<jk>true</jk> if trying to set a <jk>null</jk> value on a non-existent bean property should throw a {@link BeanRuntimeException}.
 	 */
-	public final boolean isIgnoreUnknownNullBeanProperties() {
-		return ignoreUnknownNullBeanProperties;
+	public final boolean isDontIgnoreUnknownNullBeanProperties() {
+		return dontIgnoreUnknownNullBeanProperties;
 	}
 
 	/**
@@ -3558,15 +3492,15 @@ public class BeanContext extends Context implements MetaProvider {
 	}
 
 	/**
-	 * Use interface proxies.
+	 * Don't use interface proxies.
 	 *
-	 * @see #BEAN_useInterfaceProxies
+	 * @see #BEAN_dontUseInterfaceProxies
 	 * @return
-	 * 	<jk>true</jk> if interfaces will be instantiated as proxy classes through the use of an
+	 * 	<jk>false</jk> if interfaces will be instantiated as proxy classes through the use of an
 	 * 	{@link InvocationHandler} if there is no other way of instantiating them.
 	 */
-	public final boolean isUseInterfaceProxies() {
-		return useInterfaceProxies;
+	public final boolean isDontUseInterfaceProxies() {
+		return dontUseInterfaceProxies;
 	}
 
 	/**
@@ -3612,20 +3546,20 @@ public class BeanContext extends Context implements MetaProvider {
 				.a("beansRequireDefaultConstructor", beansRequireDefaultConstructor)
 				.a("beansRequireSerializable", beansRequireSerializable)
 				.a("beansRequireSettersForGetters", beansRequireSettersForGetters)
-				.a("beansRequireSomeProperties", beansRequireSomeProperties)
+				.a("beansDontRequireSomeProperties", beansDontRequireSomeProperties)
+				.a("dontIgnoreTransientFields", dontIgnoreTransientFields)
+				.a("dontSilentlyIgnoreMissingSetters", dontSilentlyIgnoreMissingSetters)
 				.a("ignoreInvocationExceptionsOnGetters", ignoreInvocationExceptionsOnGetters)
 				.a("ignoreInvocationExceptionsOnSetters", ignoreInvocationExceptionsOnSetters)
-				.a("ignorePropertiesWithoutSetters", ignorePropertiesWithoutSetters)
-				.a("ignoreTransientProperties", ignoreTransientFields)
 				.a("ignoreUnknownBeanProperties", ignoreUnknownBeanProperties)
-				.a("ignoreUnknownNullBeanProperties", ignoreUnknownNullBeanProperties)
+				.a("dontIgnoreUnknownNullBeanProperties", dontIgnoreUnknownNullBeanProperties)
 				.a("notBeanClasses", notBeanClasses)
 				.a("notBeanPackageNames", notBeanPackageNames)
 				.a("notBeanPackagePrefixes", notBeanPackagePrefixes)
 				.a("pojoSwaps", swaps)
 				.a("sortProperties", sortProperties)
 				.a("useEnumNames", useEnumNames)
-				.a("useInterfaceProxies", useInterfaceProxies)
+				.a("dontUseInterfaceProxies", dontUseInterfaceProxies)
 				.a("useJavaBeanIntrospector", useJavaBeanIntrospector)
 			);
 	}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
index 9ed67d7..ee28c0e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextBuilder.java
@@ -755,10 +755,10 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Beans require at least one property.
+	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Beans don't require at least one property.
 	 *
 	 * <p>
-	 * When enabled, then a Java class must contain at least 1 property to be considered a bean.
+	 * When enabled, then a Java class doesn't need to contain at least 1 property to be considered a bean.
 	 * Otherwise, the bean will be serialized as a string using the {@link Object#toString()} method.
 	 *
 	 * <p>
@@ -779,7 +779,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	WriterSerializer s = JsonSerializer
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_beansRequireSomeProperties</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_beansDontRequireSomeProperties</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Produces:  {}</jc>
@@ -792,14 +792,14 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireSomeProperties}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beansDontRequireSomeProperties}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
 	public BeanContextBuilder beansDontRequireSomeProperties() {
-		return set(BEAN_beansRequireSomeProperties, false);
+		return set(BEAN_beansDontRequireSomeProperties, true);
 	}
 
 	/**
@@ -1911,11 +1911,11 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Ignore properties without setters.
+	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Don't silently ignore missing setters.
 	 *
 	 * <p>
-	 * When enabled, trying to set a value on a bean property without a setter will silently be ignored.
-	 * Otherwise, a {@code BeanRuntimeException} is thrown.
+	 * When enabled, trying to set a value on a bean property without a setter will throw a {@link BeanRuntimeException}.
+	 * Otherwise, it will be silently ignored.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
@@ -1929,13 +1929,13 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<jc>// Create a parser that throws an exception if a setter is not found but a getter is.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.dontIgnorePropertiesWithoutSetters()
+	 * 		.dontSilentlyIgnoreMissingSetters()
 	 * 		.build();
 	 *
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignorePropertiesWithoutSetters</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_dontSilentlyIgnoreMissingSetters</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Throws a ParseException.</jc>
@@ -1947,21 +1947,21 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_ignorePropertiesWithoutSetters}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontSilentlyIgnoreMissingSetters}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
-	public BeanContextBuilder dontIgnorePropertiesWithoutSetters() {
-		return set(BEAN_ignorePropertiesWithoutSetters, false);
+	public BeanContextBuilder dontSilentlyIgnoreMissingSetters() {
+		return set(BEAN_dontSilentlyIgnoreMissingSetters, true);
 	}
 
 	/**
-	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Ignore transient fields.
+	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Don't ignore transient fields.
 	 *
 	 * <p>
-	 * When enabled, methods and fields marked as <jk>transient</jk> will be ignored as bean properties.
+	 * When enabled, methods and fields marked as <jk>transient</jk> will not be ignored as bean properties.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
@@ -1979,7 +1979,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignoreTransientFields</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_dontIgnoreTransientFields</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Produces:  {"foo":"foo"}</jc>
@@ -1991,14 +1991,14 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreTransientFields}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontIgnoreTransientFields}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
 	public BeanContextBuilder dontIgnoreTransientFields() {
-		return set(BEAN_ignoreTransientFields, false);
+		return set(BEAN_dontIgnoreTransientFields, true);
 	}
 
 	/**
@@ -2043,11 +2043,11 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Ignore unknown properties with null values.
+	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Don't ignore unknown properties with null values.
 	 *
 	 * <p>
-	 * When enabled, trying to set a <jk>null</jk> value on a non-existent bean property will silently be ignored.
-	 * Otherwise, a {@code BeanRuntimeException} is thrown.
+	 * When enabled, trying to set a <jk>null</jk> value on a non-existent bean property will throw a {@link BeanRuntimeException}.
+	 * Otherwise it will be silently ignored.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
@@ -2065,7 +2065,7 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * 	<jc>// Same, but use property.</jc>
 	 * 	ReaderParser p = JsonParser
 	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_ignoreUnknownNullBeanProperties</jsf>, <jk>false</jk>)
+	 * 		.set(<jsf>BEAN_dontIgnoreUnknownNullBeanProperties</jsf>, <jk>true</jk>)
 	 * 		.build();
 	 *
 	 * 	<jc>// Throws a BeanRuntimeException wrapped in a ParseException on the unknown 'bar' property.</jc>
@@ -2073,14 +2073,14 @@ public class BeanContextBuilder extends ContextBuilder {
 	 * </p>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreUnknownNullBeanProperties}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontIgnoreUnknownNullBeanProperties}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
 	public BeanContextBuilder dontIgnoreUnknownNullBeanProperties() {
-		return set(BEAN_ignoreUnknownNullBeanProperties, false);
+		return set(BEAN_dontIgnoreUnknownNullBeanProperties, true);
 	}
 
 	/**
@@ -2920,45 +2920,22 @@ public class BeanContextBuilder extends ContextBuilder {
 	}
 
 	/**
-	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Use interface proxies.
+	 * <i><l>BeanContext</l> configuration property:&emsp;</i>  Don't use interface proxies.
 	 *
 	 * <p>
 	 * When enabled, interfaces will be instantiated as proxy classes through the use of an
 	 * {@link InvocationHandler} if there is no other way of instantiating them.
 	 * Otherwise, throws a {@link BeanRuntimeException}.
 	 *
-	 * <h5 class='section'>Example:</h5>
-	 * <p class='bcode w800'>
-	 * 	<jc>// An interface with a single getter.</jc>
-	 * 	<jk>public interface</jk> MyBean {
-	 * 		String getFoo();
-	 * 		<jk>void</jk> setFoo(String foo);
-	 * 	}
-	 *
-	 * 	<jc>// Create a parser that uses interface proxies.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.build();
-	 *
-	 * 	<jc>// Same, but use property.</jc>
-	 * 	ReaderParser p = JsonParser
-	 * 		.<jsm>create</jsm>()
-	 * 		.set(<jsf>BEAN_useInterfaceProxies</jsf>, <jk>true</jk>)
-	 * 		.build();
-	 *
-	 * 	<jc>// Creates a proxy implementation of a MyBean interface.</jc>
-	 * 	MyBean b = p.parse(<js>"{foo:'bar'}"</js>, MyBean.<jk>class</jk>);
-	 * </p>
-	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_useInterfaceProxies}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontUseInterfaceProxies}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
 	public BeanContextBuilder dontUseInterfaceProxies() {
-		return set(BEAN_useInterfaceProxies, false);
+		return set(BEAN_dontUseInterfaceProxies, true);
 	}
 
 	/**
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
index 6312293..e2f4b4c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanMeta.java
@@ -432,7 +432,7 @@ public class BeanMeta<T> {
 				}
 
 				// Make sure at least one property was found.
-				if (beanFilter == null && ctx.isBeansRequireSomeProperties() && normalProps.size() == 0)
+				if (beanFilter == null && (!ctx.isBeansDontRequireSomeProperties()) && normalProps.size() == 0)
 					return "No properties detected on bean class";
 
 				sortProperties = (ctx.isSortProperties() || (beanFilter != null && beanFilter.isSortProperties())) && fixedBeanProps.isEmpty();
@@ -769,9 +769,9 @@ public class BeanMeta<T> {
 		List<Field> l = new LinkedList<>();
 		for (ClassInfo c2 : findClasses(c, stopClass)) {
 			for (FieldInfo f : c2.getDeclaredFields()) {
-				if (f.isAny(STATIC))
+				if (f.is(STATIC))
 					continue;
-				if (ctx.isIgnoreTransientFields() && (f.isAny(TRANSIENT)))
+				if (f.is(TRANSIENT) && ! ctx.isDontIgnoreTransientFields())
 					continue;
 				if (ctx.hasAnnotation(BeanIgnore.class, f))
 					continue;
@@ -790,9 +790,9 @@ public class BeanMeta<T> {
 	static final Field findInnerBeanField(BeanContext bc, Class<?> c, Class<?> stopClass, String name) {
 		for (ClassInfo c2 : findClasses(c, stopClass)) {
 			for (FieldInfo f : c2.getDeclaredFields()) {
-				if (f.isAny(STATIC))
+				if (f.is(STATIC))
 					continue;
-				if (bc.isIgnoreTransientFields() && (f.isAny(TRANSIENT) || f.hasAnnotation(Transient.class)))
+				if ((f.is(TRANSIENT) || f.hasAnnotation(Transient.class)) && ! bc.isDontIgnoreTransientFields())
 					continue;
 				if (f.hasAnnotation(BeanIgnore.class, bc))
 					continue;
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
index 2b26882..b53efd2 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanPropertyMeta.java
@@ -682,7 +682,7 @@ public final class BeanPropertyMeta {
 			boolean isCollection = rawTypeMeta.isCollection();
 
 			if ((! isDyna) && field == null && setter == null && ! (isMap || isCollection)) {
-				if ((value == null && beanContext.isIgnoreUnknownNullBeanProperties()) || beanContext.isIgnorePropertiesWithoutSetters())
+				if ((value == null && (!beanContext.isDontIgnoreUnknownNullBeanProperties())) || (!beanContext.isDontSilentlyIgnoreMissingSetters()))
 					return null;
 				throw new BeanRuntimeException(beanMeta.c, "Setter or public field not defined on property ''{0}''", name);
 			}
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
index 5478342..a194e37 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanSession.java
@@ -1275,15 +1275,15 @@ public class BeanSession extends Session {
 	}
 
 	/**
-	 * Configuration property:  Beans require at least one property.
+	 * Configuration property:  Beans don't require at least one property.
 	 *
-	 * @see BeanContext#BEAN_beansRequireSomeProperties
+	 * @see BeanContext#BEAN_beansDontRequireSomeProperties
 	 * @return
-	 * 	<jk>true</jk> if a Java class must contain at least 1 property to be considered a bean.
+	 * 	<jk>true</jk> if a Java class doesn't need to contain at least 1 property to be considered a bean.
 	 * 	<br>Otherwise, the bean is serialized as a string using the {@link Object#toString()} method.
 	 */
-	public final boolean isBeansRequireSomeProperties() {
-		return ctx.isBeansRequireSomeProperties();
+	public final boolean isBeansDontRequireSomeProperties() {
+		return ctx.isBeansDontRequireSomeProperties();
 	}
 
 	/**
@@ -1334,16 +1334,14 @@ public class BeanSession extends Session {
 	}
 
 	/**
-	 * Configuration property:  Ignore properties without setters.
+	 * Configuration property:  Don't silently ignore missing setters.
 	 *
-	 * <br>Otherwise, a {@code RuntimeException} is thrown.
-	 *
-	 * @see BeanContext#BEAN_ignorePropertiesWithoutSetters
+	 * @see BeanContext#BEAN_dontSilentlyIgnoreMissingSetters
 	 * @return
-	 * 	<jk>true</jk> if trying to set a value on a bean property without a setter is silently ignored.
+	 * 	<jk>true</jk> if trying to set a value on a bean property without a setter should throw a {@link BeanRuntimeException}.
 	 */
-	public final boolean isIgnorePropertiesWithoutSetters() {
-		return ctx.isIgnorePropertiesWithoutSetters();
+	public final boolean isDontSilentlyIgnoreMissingSetters() {
+		return ctx.isDontSilentlyIgnoreMissingSetters();
 	}
 
 	/**
@@ -1359,14 +1357,14 @@ public class BeanSession extends Session {
 	}
 
 	/**
-	 * Configuration property:  Ignore unknown properties with null values.
+	 * Configuration property:  Don't ignore unknown properties with null values.
 	 *
-	 * @see BeanContext#BEAN_ignoreUnknownNullBeanProperties
+	 * @see BeanContext#BEAN_dontIgnoreUnknownNullBeanProperties
 	 * @return
-	 * 	<jk>true</jk> if trying to set a <jk>null</jk> value on a non-existent bean property is silently ignored.
+	 * 	<jk>true</jk> if trying to set a <jk>null</jk> value on a non-existent bean property should throw a {@link BeanRuntimeException}.
 	 */
-	public final boolean isIgnoreUnknownNullBeanProperties() {
-		return ctx.isIgnoreUnknownNullBeanProperties();
+	public final boolean isDontIgnoreUnknownNullBeanProperties() {
+		return ctx.isDontIgnoreUnknownNullBeanProperties();
 	}
 
 	/**
@@ -1447,15 +1445,15 @@ public class BeanSession extends Session {
 	}
 
 	/**
-	 * Configuration property:  Use interface proxies.
+	 * Configuration property:  Don't interface proxies.
 	 *
-	 * @see BeanContext#BEAN_useInterfaceProxies
+	 * @see BeanContext#BEAN_dontUseInterfaceProxies
 	 * @return
-	 * 	<jk>true</jk> if interfaces will be instantiated as proxy classes through the use of an
+	 * 	<jk>false</jk> if interfaces will be instantiated as proxy classes through the use of an
 	 * 	{@link InvocationHandler} if there is no other way of instantiating them.
 	 */
-	public final boolean isUseInterfaceProxies() {
-		return ctx.isUseInterfaceProxies();
+	public final boolean isDontUseInterfaceProxies() {
+		return ctx.isDontUseInterfaceProxies();
 	}
 
 	/**
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
index 4b97eac..383807d 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
@@ -469,8 +469,8 @@ public class BeanTraverseBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public BeanTraverseBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public BeanTraverseBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
index e35aabb..3d7ad91 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ClassMeta.java
@@ -612,7 +612,7 @@ public final class ClassMeta<T> implements Type {
 			if (beanMeta != null)
 				dictionaryName = beanMeta.getDictionaryName();
 
-			if (beanMeta != null && bc != null && bc.isUseInterfaceProxies() && innerClass.isInterface())
+			if (beanMeta != null && bc != null && (!bc.isDontUseInterfaceProxies()) && innerClass.isInterface())
 				invocationHandler = new BeanProxyInvocationHandler<T>(beanMeta);
 
 			if (bc != null) {
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 46d25bd..9b2a852 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
@@ -271,28 +271,28 @@ public @interface BeanConfig {
 	String beansRequireSettersForGetters() default "";
 
 	/**
-	 * Configuration property:  Beans require at least one property.
+	 * Configuration property:  Beans don't require at least one property.
 	 *
 	 * <p>
-	 * If <js>"true"</js>, then a Java class must contain at least 1 property to be considered a bean.
+	 * If <js>"true"</js>, then a Java class doesn't need to 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.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
 	 * 		Possible values:
 	 * 		<ul>
-	 * 			<li><js>"true"</js> (default)
-	 * 			<li><js>"false"</js>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
 	 * 		</ul>
 	 * 	<li>
 	 * 		Supports {@doc DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_beansRequireSomeProperties}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_beansDontRequireSomeProperties}
 	 * </ul>
 	 */
-	String beansRequireSomeProperties() default "";
+	String beansDontRequireSomeProperties() default "";
 
 	/**
 	 * Configuration property:  Bean type property name.
@@ -377,7 +377,7 @@ public @interface BeanConfig {
 
 	/**
 	 * Configuration property:  Replace bean dictionary.
-	 * 
+	 *
 	 * <p>
 	 * Same as {@link #dictionary()} but replaces any existing value.
 	 *
@@ -468,51 +468,51 @@ public @interface BeanConfig {
 	String ignoreInvocationExceptionsOnSetters() default "";
 
 	/**
-	 * Configuration property:  Ignore properties without setters.
+	 * Configuration property:  Don't silently ignore missing setters.
 	 *
 	 * <p>
-	 * 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.
+	 * If <js>"true"</js>, trying to set a value on a bean property without a setter will throw a {@code BeanRuntimeException}.
+	 * <br>Otherwise it will be sliently ignored.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
 	 * 		Possible values:
 	 * 		<ul>
-	 * 			<li><js>"true"</js> (default)
-	 * 			<li><js>"false"</js>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
 	 * 		</ul>
 	 * 	<li>
 	 * 		Supports {@doc DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_ignorePropertiesWithoutSetters}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontSilentlyIgnoreMissingSetters}
 	 * </ul>
 	 */
-	String ignorePropertiesWithoutSetters() default "";
+	String dontSilentlyIgnoreMissingSetters() default "";
 
 	/**
-	 * Configuration property:  Ignore transient fields.
+	 * Configuration property:  Don't ignore transient fields.
 	 *
 	 * <p>
-	 * If <jk>true</jk>, methods and fields marked as <jk>transient</jk> will be ignored as bean properties.
+	 * If <jk>true</jk>, methods and fields marked as <jk>transient</jk> will not be ignored as bean properties.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
 	 * 		Possible values:
 	 * 		<ul>
-	 * 			<li><js>"true"</js> (default)
-	 * 			<li><js>"false"</js>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
 	 * 		</ul>
 	 * 	<li>
 	 * 		Supports {@doc DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreTransientFields}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontIgnoreTransientFields}
 	 * </ul>
 	 */
-	String ignoreTransientFields() default "";
+	String dontIgnoreTransientFields() default "";
 
 	/**
 	 * Configuration property:  Ignore unknown properties.
@@ -539,28 +539,28 @@ public @interface BeanConfig {
 	String ignoreUnknownBeanProperties() default "";
 
 	/**
-	 * Configuration property:  Ignore unknown properties with null values.
+	 * Configuration property:  Don't ignore unknown properties with null values.
 	 *
 	 * <p>
-	 * 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.
+	 * If <js>"true"</js>, trying to set a <jk>null</jk> value on a non-existent bean property will throw a {@code BeanRuntimeException}.
+	 * Otherwise it will be silently ignored.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
 	 * 		Possible values:
 	 * 		<ul>
-	 * 			<li><js>"true"</js> (default)
-	 * 			<li><js>"false"</js>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
 	 * 		</ul>
 	 * 	<li>
 	 * 		Supports {@doc DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_ignoreUnknownNullBeanProperties}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontIgnoreUnknownNullBeanProperties}
 	 * </ul>
 	 */
-	String ignoreUnknownNullBeanProperties() default "";
+	String dontIgnoreUnknownNullBeanProperties() default "";
 
 	/**
 	 * Identifies a set of interfaces.
@@ -652,7 +652,7 @@ public @interface BeanConfig {
 
 	/**
 	 * Configuration property:  Replace classes that should not be considered beans.
-	 * 
+	 *
 	 * <p>
 	 * Same as {@link #notBeanClasses()} but replaces any existing value.
 	 *
@@ -702,7 +702,7 @@ public @interface BeanConfig {
 	 *
 	 * <p>
 	 * Same as {@link #notBeanPackages()} but replaces any existing value.
-	 * 
+	 *
 	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_notBeanPackages}
 	 * </ul>
@@ -792,7 +792,7 @@ public @interface BeanConfig {
 	 *
 	 * <p>
 	 * Same as {@link #swaps()} but replaces any existing value.
-	 * 
+	 *
 	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link BeanContext#BEAN_swaps}
 	 * </ul>
@@ -840,29 +840,29 @@ public @interface BeanConfig {
 	String useEnumNames() default "";
 
 	/**
-	 * Configuration property:  Use interface proxies.
+	 * Configuration property:  Don't use interface proxies.
 	 *
 	 * <p>
-	 * If <js>"true"</js>, then interfaces will be instantiated as proxy classes through the use of an
+	 * Disables the feature where interfaces will be instantiated as proxy classes through the use of an
 	 * {@link InvocationHandler} if there is no other way of instantiating them.
-	 * <br>Otherwise, throws a {@link BeanRuntimeException}.
+	 * <br>Setting this to <js>"true"</js> causes this to be a {@link BeanRuntimeException}.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
 	 *		Possible values:
 	 * 		<ul>
-	 * 			<li><js>"true"</js> (default)
-	 * 			<li><js>"false"</js>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
 	 * 		</ul>
 	 * 	<li>
 	 * 		Supports {@doc DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link BeanContext#BEAN_useInterfaceProxies}
+	 * 	<li class='jf'>{@link BeanContext#BEAN_dontUseInterfaceProxies}
 	 * </ul>
 	 */
-	String useInterfaceProxies() default "";
+	String dontUseInterfaceProxies() default "";
 
 	/**
 	 * Configuration property:  Use Java Introspector.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
index 66ddbf6..35e1f67 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/BeanConfigAnnotation.java
@@ -66,8 +66,8 @@ public class BeanConfigAnnotation {
 				psb.set(BEAN_beansRequireSerializable, bool(a.beansRequireSerializable()));
 			if (! a.beansRequireSettersForGetters().isEmpty())
 				psb.set(BEAN_beansRequireSettersForGetters, bool(a.beansRequireSettersForGetters()));
-			if (! a.beansRequireSomeProperties().isEmpty())
-				psb.set(BEAN_beansRequireSomeProperties, bool(a.beansRequireSomeProperties()));
+			if (! a.beansDontRequireSomeProperties().isEmpty())
+				psb.set(BEAN_beansDontRequireSomeProperties, bool(a.beansDontRequireSomeProperties()));
 			if (! a.typePropertyName().isEmpty())
 				psb.set(BEAN_typePropertyName, string(a.typePropertyName()));
 			if (! a.debug().isEmpty())
@@ -78,14 +78,14 @@ public class BeanConfigAnnotation {
 				psb.set(BEAN_ignoreInvocationExceptionsOnGetters, bool(a.ignoreInvocationExceptionsOnGetters()));
 			if (! a.ignoreInvocationExceptionsOnSetters().isEmpty())
 				psb.set(BEAN_ignoreInvocationExceptionsOnSetters, bool(a.ignoreInvocationExceptionsOnSetters()));
-			if (! a.ignorePropertiesWithoutSetters().isEmpty())
-				psb.set(BEAN_ignorePropertiesWithoutSetters, bool(a.ignorePropertiesWithoutSetters()));
-			if (! a.ignoreTransientFields().isEmpty())
-				psb.set(BEAN_ignoreTransientFields, bool(a.ignoreTransientFields()));
+			if (! a.dontSilentlyIgnoreMissingSetters().isEmpty())
+				psb.set(BEAN_dontSilentlyIgnoreMissingSetters, bool(a.dontSilentlyIgnoreMissingSetters()));
+			if (! a.dontIgnoreTransientFields().isEmpty())
+				psb.set(BEAN_dontIgnoreTransientFields, bool(a.dontIgnoreTransientFields()));
 			if (! a.ignoreUnknownBeanProperties().isEmpty())
 				psb.set(BEAN_ignoreUnknownBeanProperties, bool(a.ignoreUnknownBeanProperties()));
-			if (! a.ignoreUnknownNullBeanProperties().isEmpty())
-				psb.set(BEAN_ignoreUnknownNullBeanProperties, bool(a.ignoreUnknownNullBeanProperties()));
+			if (! a.dontIgnoreUnknownNullBeanProperties().isEmpty())
+				psb.set(BEAN_dontIgnoreUnknownNullBeanProperties, bool(a.dontIgnoreUnknownNullBeanProperties()));
 			for (Class<?> c : a.interfaces())
 				psb.prependTo(BEAN_annotations, BeanAnnotation.create(c).interfaceClass(c).build());
 			if (! a.locale().isEmpty())
@@ -112,8 +112,8 @@ public class BeanConfigAnnotation {
 				psb.set(CONTEXT_timeZone, timeZone(a.timeZone()));
 			if (! a.useEnumNames().isEmpty())
 				psb.set(BEAN_useEnumNames, bool(a.useEnumNames()));
-			if (! a.useInterfaceProxies().isEmpty())
-				psb.set(BEAN_useInterfaceProxies, bool(a.useInterfaceProxies()));
+			if (! a.dontUseInterfaceProxies().isEmpty())
+				psb.set(BEAN_dontUseInterfaceProxies, bool(a.dontUseInterfaceProxies()));
 			if (! a.useJavaBeanIntrospector().isEmpty())
 				psb.set(BEAN_useJavaBeanIntrospector, bool(a.useJavaBeanIntrospector()));
 			if (! a.detectRecursions().isEmpty())
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
index e7beb4d..8ef070c 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
@@ -308,8 +308,8 @@ public class CsvParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public CsvParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
index e5e1a38..6201711 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
@@ -308,8 +308,8 @@ public class CsvSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public CsvSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public CsvSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
index 2250556..0981141 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
@@ -834,8 +834,8 @@ public class HtmlDocSerializerBuilder extends HtmlStrippedDocSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlDocSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public HtmlDocSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
index 26c4aa1..0514b05 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
@@ -311,8 +311,8 @@ public class HtmlParserBuilder extends XmlParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public HtmlParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
index 699325f..80df65f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
@@ -488,8 +488,8 @@ public class HtmlSchemaSerializerBuilder extends HtmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSchemaSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public HtmlSchemaSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
index dafa52c..4d9bf06 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializer.java
@@ -242,192 +242,192 @@ public class HtmlSerializer extends XmlSerializer implements HtmlMetaProvider, H
 	public static final String HTML_addKeyValueTableHeaders = PREFIX + ".addKeyValueTableHeaders.b";
 
 	/**
-	 * Configuration property:  Look for URLs in {@link java.lang.String Strings}.
+	 * Configuration property:  Link label parameter name.
+	 *
+	 * <h5 class='section'>Property:</h5>
+	 * <ul class='spaced-list'>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.html.HtmlSerializer#HTML_labelParameter HTML_labelParameter}
+	 * 	<li><b>Name:</b>  <js>"HtmlSerializer.labelParameter.s"</js>
+	 * 	<li><b>Data type:</b>  <c>String</c>
+	 * 	<li><b>System property:</b>  <c>HtmlSerializer.labelParameter</c>
+	 * 	<li><b>Environment variable:</b>  <c>HTMLSERIALIZER_LABELPARAMETER</c>
+	 * 	<li><b>Default:</b>  <js>"label"</js>
+	 * 	<li><b>Session property:</b>  <jk>false</jk>
+	 * 	<li><b>Annotations:</b>
+	 * 		<ul>
+	 * 			<li class='ja'>{@link org.apache.juneau.html.annotation.HtmlConfig#labelParameter()}
+	 * 		</ul>
+	 * 	<li><b>Methods:</b>
+	 * 		<ul>
+	 * 			<li class='jm'>{@link org.apache.juneau.html.HtmlSerializerBuilder#labelParameter(String)}
+	 * 		</ul>
+	 * </ul>
+	 *
+	 * <p>
+	 * The parameter name to look for when resolving link labels.
+	 *
+	 * <ul class='seealso'>
+	 * 	<li class='jf'>{@link #HTML_dontDetectLabelParameters}
+	 * </ul>
+	 */
+	public static final String HTML_labelParameter = PREFIX + ".labelParameter.s";
+
+	/**
+	 * Configuration property:  Don't look for link labels in URIs.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.html.HtmlSerializer#HTML_detectLinksInStrings HTML_detectLinksInStrings}
-	 * 	<li><b>Name:</b>  <js>"HtmlSerializer.detectLinksInStrings.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.html.HtmlSerializer#HTML_dontDetectLabelParameters HTML_dontDetectLabelParameters}
+	 * 	<li><b>Name:</b>  <js>"HtmlSerializer.dontDetectLabelParameters.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>HtmlSerializer.detectLinksInStrings</c>
-	 * 	<li><b>Environment variable:</b>  <c>HTMLSERIALIZER_DETECTLINKSINSTRINGS</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
+	 * 	<li><b>System property:</b>  <c>HtmlSerializer.dontDetectLabelParameters</c>
+	 * 	<li><b>Environment variable:</b>  <c>HTMLSERIALIZER_DONTDETECTLABELPARAMETERS</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.html.annotation.HtmlConfig#detectLinksInStrings()}
+	 * 			<li class='ja'>{@link org.apache.juneau.html.annotation.HtmlConfig#dontDetectLabelParameters()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.html.HtmlSerializerBuilder#dontDetectLinksInStrings()}
+	 * 			<li class='jm'>{@link org.apache.juneau.html.HtmlSerializerBuilder#dontDetectLabelParameters()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
-	 * If a string looks like a URL (i.e. starts with <js>"http://"</js> or <js>"https://"</js>, then treat it like a URL
-	 * and make it into a hyperlink based on the rules specified by {@link #HTML_uriAnchorText}.
+	 * Disables the feature where if the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
+	 *
+	 * <p>
+	 * The parameter name can be changed via the {@link #HTML_labelParameter} property.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
 	 * 	<jc>// Our bean class with a property containing what looks like a URL.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public</jk> String <jf>f1</jf> = <js>"http://www.apache.org"</js>;
+	 * 		<jk>public</jk> URI <jf>f1</jf> = URI.<jsm>create</jsm>(<js>"http://www.apache.org?label=Apache%20Foundation"</js>);
 	 * 	}
 	 *
-	 *  <jc>// Serializer with link detection.</jc>
+	 *  <jc>// Serializer with label detection.</jc>
 	 * 	WriterSerializer s1 = HtmlSerializer
 	 * 		.<jsm>create</jsm>()
 	 * 		.addKeyValueTableHeaders()
 	 * 		.build();
 	 *
-	 *  <jc>// Serializer without link detection.</jc>
+	 *  <jc>// Serializer without label detection.</jc>
 	 * 	WriterSerializer s2 = HtmlSerializer
 	 * 		.<jsm>create</jsm>()
 	 * 		.addKeyValueTableHeaders()
-	 * 		.detectLinksInStrings(<jk>false</jk>)
+	 * 		.dontDetectLabelParameters()
 	 * 		.build();
 	 *
-	 * 	String withLinks = s1.serialize(<jk>new</jk> MyBean());
-	 * 	String withoutLinks = s2.serialize(<jk>new</jk> MyBean());
+	 * 	String withLabels = s1.serialize(<jk>new</jk> MyBean());
+	 * 	String withoutLabels = s2.serialize(<jk>new</jk> MyBean());
 	 * </p>
 	 *
 	 * <p>
-	 * The following shows the difference between the two generated outputs:
+	 * The following shows the difference between the two generated outputs.
+	 * <br>Note that they're both hyperlinks, but the anchor text differs:
 	 *
 	 * <table class='styled'>
 	 * 	<tr>
-	 * 		<th><c>withLinks</c></th>
-	 * 		<th><c>withoutLinks</c></th>
+	 * 		<th><c>withLabels</c></th>
+	 * 		<th><c>withoutLabels</c></th>
 	 * 	</tr>
 	 * 	<tr>
 	 * 		<td>
 	 * 			<table class='unstyled'>
 	 * 				<tr><th>key</th><th>value</th></tr>
-	 * 				<tr><td>f1</td><td><a href='http://www.apache.org'>http://www.apache.org</a></td></tr>
+	 * 				<tr><td>f1</td><td><a href='http://www.apache.org?label=Apache%20Foundation'>Apache Foundation</a></td></tr>
 	 * 			</table>
 	 * 		</td>
 	 * 		<td>
 	 * 			<table class='unstyled'>
 	 * 				<tr><th>key</th><th>value</th></tr>
-	 * 				<tr><td>f1</td><td>http://www.apache.org</td></tr>
+	 * 				<tr><td>f1</td><td><a href='http://www.apache.org?label=Apache%20Foundation'>http://www.apache.org?label=Apache%20Foundation</a></td></tr>
 	 * 			</table>
 	 * 		</td>
 	 * 	</tr>
 	 * </table>
 	 */
-	public static final String HTML_detectLinksInStrings = PREFIX + ".detectLinksInStrings.b";
+	public static final String HTML_dontDetectLabelParameters = PREFIX + ".dontDetectLabelParameters.b";
 
 	/**
-	 * Configuration property:  Link label parameter name.
-	 *
-	 * <h5 class='section'>Property:</h5>
-	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.html.HtmlSerializer#HTML_labelParameter HTML_labelParameter}
-	 * 	<li><b>Name:</b>  <js>"HtmlSerializer.labelParameter.s"</js>
-	 * 	<li><b>Data type:</b>  <c>String</c>
-	 * 	<li><b>System property:</b>  <c>HtmlSerializer.labelParameter</c>
-	 * 	<li><b>Environment variable:</b>  <c>HTMLSERIALIZER_LABELPARAMETER</c>
-	 * 	<li><b>Default:</b>  <js>"label"</js>
-	 * 	<li><b>Session property:</b>  <jk>false</jk>
-	 * 	<li><b>Annotations:</b>
-	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.html.annotation.HtmlConfig#labelParameter()}
-	 * 		</ul>
-	 * 	<li><b>Methods:</b>
-	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.html.HtmlSerializerBuilder#labelParameter(String)}
-	 * 		</ul>
-	 * </ul>
-	 *
-	 * <p>
-	 * The parameter name to look for when resolving link labels via {@link #HTML_detectLabelParameters}.
-	 *
-	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link #HTML_detectLabelParameters}
-	 * </ul>
-	 */
-	public static final String HTML_labelParameter = PREFIX + ".labelParameter.s";
-
-	/**
-	 * Configuration property:  Look for link labels in URIs.
+	 * Configuration property:  Don't look for URLs in {@link java.lang.String Strings}.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.html.HtmlSerializer#HTML_detectLabelParameters HTML_detectLabelParameters}
-	 * 	<li><b>Name:</b>  <js>"HtmlSerializer.detectLabelParameters.b"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.html.HtmlSerializer#HTML_dontDetectLinksInStrings HTML_dontDetectLinksInStrings}
+	 * 	<li><b>Name:</b>  <js>"HtmlSerializer.dontDetectLinksInStrings.b"</js>
 	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>HtmlSerializer.detectLabelParameters</c>
-	 * 	<li><b>Environment variable:</b>  <c>HTMLSERIALIZER_DETECTLABELPARAMETERS</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
+	 * 	<li><b>System property:</b>  <c>HtmlSerializer.dontDetectLinksInStrings</c>
+	 * 	<li><b>Environment variable:</b>  <c>HTMLSERIALIZER_DONTDETECTLINKSINSTRINGS</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.html.annotation.HtmlConfig#detectLabelParameters()}
+	 * 			<li class='ja'>{@link org.apache.juneau.html.annotation.HtmlConfig#dontDetectLinksInStrings()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.html.HtmlSerializerBuilder#dontDetectLabelParameters()}
+	 * 			<li class='jm'>{@link org.apache.juneau.html.HtmlSerializerBuilder#dontDetectLinksInStrings()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
-	 * If the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
-	 *
-	 * <p>
-	 * The parameter name can be changed via the {@link #HTML_labelParameter} property.
+	 * Disables the feature where if a string looks like a URL (i.e. starts with <js>"http://"</js> or <js>"https://"</js>, then treat it like a URL
+	 * and make it into a hyperlink based on the rules specified by {@link #HTML_uriAnchorText}.
 	 *
 	 * <h5 class='section'>Example:</h5>
 	 * <p class='bcode w800'>
 	 * 	<jc>// Our bean class with a property containing what looks like a URL.</jc>
 	 * 	<jk>public class</jk> MyBean {
-	 * 		<jk>public</jk> URI <jf>f1</jf> = URI.<jsm>create</jsm>(<js>"http://www.apache.org?label=Apache%20Foundation"</js>);
+	 * 		<jk>public</jk> String <jf>f1</jf> = <js>"http://www.apache.org"</js>;
 	 * 	}
 	 *
-	 *  <jc>// Serializer with label detection.</jc>
+	 *  <jc>// Serializer with link detection.</jc>
 	 * 	WriterSerializer s1 = HtmlSerializer
 	 * 		.<jsm>create</jsm>()
 	 * 		.addKeyValueTableHeaders()
 	 * 		.build();
 	 *
-	 *  <jc>// Serializer without label detection.</jc>
+	 *  <jc>// Serializer without link detection.</jc>
 	 * 	WriterSerializer s2 = HtmlSerializer
 	 * 		.<jsm>create</jsm>()
 	 * 		.addKeyValueTableHeaders()
-	 * 		.lookForLabelParameters(<jk>false</jk>)
+	 * 		.dontDetectLinksInStrings(<jk>true</jk>)
 	 * 		.build();
 	 *
-	 * 	String withLabels = s1.serialize(<jk>new</jk> MyBean());
-	 * 	String withoutLabels = s2.serialize(<jk>new</jk> MyBean());
+	 * 	String withLinks = s1.serialize(<jk>new</jk> MyBean());
+	 * 	String withoutLinks = s2.serialize(<jk>new</jk> MyBean());
 	 * </p>
 	 *
 	 * <p>
-	 * The following shows the difference between the two generated outputs.
-	 * <br>Note that they're both hyperlinks, but the anchor text differs:
+	 * The following shows the difference between the two generated outputs:
 	 *
 	 * <table class='styled'>
 	 * 	<tr>
-	 * 		<th><c>withLabels</c></th>
-	 * 		<th><c>withoutLabels</c></th>
+	 * 		<th><c>withLinks</c></th>
+	 * 		<th><c>withoutLinks</c></th>
 	 * 	</tr>
 	 * 	<tr>
 	 * 		<td>
 	 * 			<table class='unstyled'>
 	 * 				<tr><th>key</th><th>value</th></tr>
-	 * 				<tr><td>f1</td><td><a href='http://www.apache.org?label=Apache%20Foundation'>Apache Foundation</a></td></tr>
+	 * 				<tr><td>f1</td><td><a href='http://www.apache.org'>http://www.apache.org</a></td></tr>
 	 * 			</table>
 	 * 		</td>
 	 * 		<td>
 	 * 			<table class='unstyled'>
 	 * 				<tr><th>key</th><th>value</th></tr>
-	 * 				<tr><td>f1</td><td><a href='http://www.apache.org?label=Apache%20Foundation'>http://www.apache.org?label=Apache%20Foundation</a></td></tr>
+	 * 				<tr><td>f1</td><td>http://www.apache.org</td></tr>
 	 * 			</table>
 	 * 		</td>
 	 * 	</tr>
 	 * </table>
 	 */
-	public static final String HTML_detectLabelParameters = PREFIX + ".detectLabelParameters.b";
+	public static final String HTML_dontDetectLinksInStrings = PREFIX + ".dontDetectLinksInStrings.b";
 
 	/**
 	 * Configuration property:  Anchor text source.
@@ -666,8 +666,8 @@ public class HtmlSerializer extends XmlSerializer implements HtmlMetaProvider, H
 
 	private final AnchorText uriAnchorText;
 	private final boolean
-		detectLabelParameters,
-		detectLinksInStrings,
+		dontDetectLabelParameters,
+		dontDetectLinksInStrings,
 		addKeyValueTableHeaders,
 		addBeanTypes;
 	private final String labelParameter;
@@ -716,8 +716,8 @@ public class HtmlSerializer extends XmlSerializer implements HtmlMetaProvider, H
 	public HtmlSerializer(PropertyStore ps, String produces, String accept) {
 		super(ps, produces, accept);
 		uriAnchorText = getProperty(HTML_uriAnchorText, AnchorText.class, AnchorText.TO_STRING);
-		detectLabelParameters = getBooleanProperty(HTML_detectLabelParameters, true);
-		detectLinksInStrings = getBooleanProperty(HTML_detectLinksInStrings, true);
+		dontDetectLabelParameters = getBooleanProperty(HTML_dontDetectLabelParameters, false);
+		dontDetectLinksInStrings = getBooleanProperty(HTML_dontDetectLinksInStrings, false);
 		labelParameter = getStringProperty(HTML_labelParameter, "label");
 		addKeyValueTableHeaders = getBooleanProperty(HTML_addKeyValueTableHeaders, false);
 		addBeanTypes = getBooleanProperty(HTML_addBeanTypes, getBooleanProperty(SERIALIZER_addBeanTypes, false));
@@ -820,25 +820,25 @@ public class HtmlSerializer extends XmlSerializer implements HtmlMetaProvider, H
 	}
 
 	/**
-	 * Look for link labels in URIs.
+	 * Don't look for link labels in URIs.
 	 *
-	 * @see #HTML_detectLabelParameters
+	 * @see #HTML_dontDetectLabelParameters
 	 * @return
-	 * 	<jk>true</jk> if we should look for URL label parameters (e.g. <js>"?label=foobar"</js>).
+	 * 	<jk>true</jk> if we should not look for URL label parameters (e.g. <js>"?label=foobar"</js>).
 	 */
-	protected final boolean isDetectLabelParameters() {
-		return detectLabelParameters;
+	protected final boolean isDontDetectLabelParameters() {
+		return dontDetectLabelParameters;
 	}
 
 	/**
-	 * Look for URLs in {@link String Strings}.
+	 * Don't look for URLs in {@link String Strings}.
 	 *
-	 * @see #HTML_detectLinksInStrings
+	 * @see #HTML_dontDetectLinksInStrings
 	 * @return
-	 * 	<jk>true</jk> if we should automatically convert strings to URLs if they look like a URL.
+	 * 	<jk>true</jk> if we should not automatically convert strings to URLs if they look like a URL.
 	 */
-	protected final boolean isDetectLinksInStrings() {
-		return detectLinksInStrings;
+	protected final boolean isDontDetectLinksInStrings() {
+		return dontDetectLinksInStrings;
 	}
 
 	/**
@@ -846,7 +846,7 @@ public class HtmlSerializer extends XmlSerializer implements HtmlMetaProvider, H
 	 *
 	 * @see #HTML_labelParameter
 	 * @return
-	 * 	The parameter name to look for when resolving link labels via {@link #HTML_detectLabelParameters}.
+	 * 	The parameter name to look for when resolving link labels.
 	 */
 	protected final String getLabelParameter() {
 		return labelParameter;
@@ -873,8 +873,8 @@ public class HtmlSerializer extends XmlSerializer implements HtmlMetaProvider, H
 		return super.toMap()
 			.a("HtmlSerializer", new DefaultFilteringOMap()
 				.a("uriAnchorText", uriAnchorText)
-				.a("detectLabelParameters", detectLabelParameters)
-				.a("detectLinksInStrings", detectLinksInStrings)
+				.a("dontDetectLabelParameters", dontDetectLabelParameters)
+				.a("dontDetectLinksInStrings", dontDetectLinksInStrings)
 				.a("labelParameter", labelParameter)
 				.a("addKeyValueTableHeaders", addKeyValueTableHeaders)
 				.a("addBeanTypes", addBeanTypes)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
index cf21e09..3d0deb8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
@@ -74,28 +74,28 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	/**
-	 * <i><l>HtmlSerializer</l> configuration property:&emsp;</i>  Look for URLs in {@link String Strings}.
+	 * <i><l>HtmlSerializer</l> configuration property:&emsp;</i>  Don't look for URLs in {@link String Strings}.
 	 *
 	 * <p>
-	 * If a string looks like a URL (e.g. starts with <js>"http://"</js> or <js>"https://"</js>), then treat it like a URL
+	 * Disables the feature where if a string looks like a URL (e.g. starts with <js>"http://"</js> or <js>"https://"</js>), then treat it like a URL
 	 * and make it into a hyperlink based on the rules specified by {@link HtmlSerializer#HTML_uriAnchorText}.
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link HtmlSerializer#HTML_detectLinksInStrings}
+	 * 	<li class='jf'>{@link HtmlSerializer#HTML_dontDetectLinksInStrings}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
 	public HtmlSerializerBuilder dontDetectLinksInStrings() {
-		return set(HTML_detectLinksInStrings, false);
+		return set(HTML_dontDetectLinksInStrings, true);
 	}
 
 	/**
 	 * <i><l>HtmlSerializer</l> configuration property:&emsp;</i>  Link label parameter name.
 	 *
 	 * <p>
-	 * The parameter name to look for when resolving link labels via {@link HtmlSerializer#HTML_detectLabelParameters}.
+	 * The parameter name to look for when resolving link labels}.
 	 *
 	 * <ul class='seealso'>
 	 * 	<li class='jf'>{@link HtmlSerializer#HTML_labelParameter}
@@ -112,20 +112,20 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	/**
-	 * <i><l>HtmlSerializer</l> configuration property:&emsp;</i>  Look for link labels in URIs.
+	 * <i><l>HtmlSerializer</l> configuration property:&emsp;</i>  Dont look for link labels in URIs.
 	 *
 	 * <p>
-	 * If the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
+	 * Disables the feature where if the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link HtmlSerializer#HTML_detectLabelParameters}
+	 * 	<li class='jf'>{@link HtmlSerializer#HTML_dontDetectLabelParameters}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
 	public HtmlSerializerBuilder dontDetectLabelParameters() {
-		return set(HTML_detectLabelParameters, false);
+		return set(HTML_dontDetectLabelParameters, true);
 	}
 
 	/**
@@ -404,8 +404,8 @@ public class HtmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public HtmlSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
index 6aba5e0..1629128 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerSession.java
@@ -93,7 +93,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 			return true;
 		if (pMeta != null && pMeta.isUri())
 			return true;
-		if (isDetectLinksInStrings() && o instanceof CharSequence && urlPattern.matcher(o.toString()).matches())
+		if ((!isDontDetectLinksInStrings()) && o instanceof CharSequence && urlPattern.matcher(o.toString()).matches())
 			return true;
 		return false;
 	}
@@ -109,7 +109,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	 */
 	public String getAnchorText(BeanPropertyMeta pMeta, Object o) {
 		String s = o.toString();
-		if (isDetectLabelParameters()) {
+		if (! isDontDetectLabelParameters()) {
 			Matcher m = labelPattern.matcher(s);
 			if (m.find())
 				return urlDecode(m.group(1));
@@ -812,25 +812,25 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Look for link labels in URIs.
+	 * Configuration property:  Don't look for link labels in URIs.
 	 *
-	 * @see HtmlSerializer#HTML_detectLabelParameters
+	 * @see HtmlSerializer#HTML_dontDetectLabelParameters
 	 * @return
-	 * 	<jk>true</jk> if we should look for URL label parameters (e.g. <js>"?label=foobar"</js>).
+	 * 	<jk>true</jk> if we should not look for URL label parameters (e.g. <js>"?label=foobar"</js>).
 	 */
-	protected final boolean isDetectLabelParameters() {
-		return ctx.isDetectLabelParameters();
+	protected final boolean isDontDetectLabelParameters() {
+		return ctx.isDontDetectLabelParameters();
 	}
 
 	/**
-	 * Configuration property:  Look for URLs in {@link String Strings}.
+	 * Configuration property:  Don't look for URLs in {@link String Strings}.
 	 *
-	 * @see HtmlSerializer#HTML_detectLinksInStrings
+	 * @see HtmlSerializer#HTML_dontDetectLinksInStrings
 	 * @return
 	 * 	<jk>true</jk> if we should automatically convert strings to URLs if they look like a URL.
 	 */
-	protected final boolean isDetectLinksInStrings() {
-		return ctx.isDetectLinksInStrings();
+	protected final boolean isDontDetectLinksInStrings() {
+		return ctx.isDontDetectLinksInStrings();
 	}
 
 	/**
@@ -838,7 +838,7 @@ public class HtmlSerializerSession extends XmlSerializerSession {
 	 *
 	 * @see HtmlSerializer#HTML_labelParameter
 	 * @return
-	 * 	The parameter name to look for when resolving link labels via {@link HtmlSerializer#HTML_detectLabelParameters}.
+	 * 	The parameter name to look for when resolving link labels.
 	 */
 	protected final String getLabelParameter() {
 		return ctx.getLabelParameter();
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
index 4399f0a..1178316 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
@@ -308,8 +308,8 @@ public class HtmlStrippedDocSerializerBuilder extends HtmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public HtmlStrippedDocSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public HtmlStrippedDocSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
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 232d583..72ecfc6 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
@@ -127,10 +127,10 @@ public @interface HtmlConfig {
 	String addKeyValueTableHeaders() default "";
 
 	/**
-	 * Configuration property:  Look for URLs in {@link String Strings}.
+	 * Configuration property:  Don't look for URLs in {@link String Strings}.
 	 *
 	 * <p>
-	 * If a string looks like a URL (i.e. starts with <js>"http://"</js> or <js>"https://"</js>, then treat it like a URL
+	 * Disables the feature where if a string looks like a URL (i.e. starts with <js>"http://"</js> or <js>"https://"</js>, then treat it like a URL
 	 * and make it into a hyperlink based on the rules specified by {@link HtmlSerializer#HTML_uriAnchorText}.
 	 *
 	 * <p>
@@ -161,24 +161,24 @@ public @interface HtmlConfig {
 	 * 	<li>
 	 * 		Possible values:
 	 * 		<ul>
-	 * 			<li><js>"true"</js> (default)
-	 * 			<li><js>"false"</js>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
 	 * 		</ul>
 	 * 	<li>
 	 * 		Supports {@doc DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link HtmlSerializer#HTML_detectLinksInStrings}
+	 * 	<li class='jf'>{@link HtmlSerializer#HTML_dontDetectLinksInStrings}
 	 * </ul>
 	 */
-	String detectLinksInStrings() default "";
+	String dontDetectLinksInStrings() default "";
 
 	/**
 	 * Configuration property:  Link label parameter name.
 	 *
 	 * <p>
-	 * The parameter name to look for when resolving link labels via {@link HtmlSerializer#HTML_detectLabelParameters}.
+	 * The parameter name to look for when resolving link labels.
 	 *
 	 * <ul class='notes'>
 	 * 	<li>
@@ -194,10 +194,10 @@ public @interface HtmlConfig {
 	String labelParameter() default "";
 
 	/**
-	 * Configuration property:  Look for link labels in URIs.
+	 * Configuration property:  Don't look for link labels in URIs.
 	 *
 	 * <p>
-	 * If the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
+	 * Disables the feature where if the URL has a label parameter (e.g. <js>"?label=foobar"</js>), then use that as the anchor text of the link.
 	 *
 	 * <p>
 	 * The parameter name can be changed via the {@link HtmlSerializer#HTML_labelParameter} property.
@@ -231,18 +231,18 @@ public @interface HtmlConfig {
 	 * 	<li>
 	 * 		Possible values:
 	 * 		<ul>
-	 * 			<li><js>"true"</js> (default)
-	 * 			<li><js>"false"</js>
+	 * 			<li><js>"true"</js>
+	 * 			<li><js>"false"</js> (default)
 	 * 		</ul>
 	 * 	<li>
 	 * 		Supports {@doc DefaultVarResolver} (e.g. <js>"$C{myConfigVar}"</js>).
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link HtmlSerializer#HTML_detectLabelParameters}
+	 * 	<li class='jf'>{@link HtmlSerializer#HTML_dontDetectLabelParameters}
 	 * </ul>
 	 */
-	String detectLabelParameters() default "";
+	String dontDetectLabelParameters() default "";
 
 	/**
 	 * Configuration property:  Anchor text source.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java
index 280a7e0..758914f 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/annotation/HtmlConfigAnnotation.java
@@ -45,10 +45,10 @@ public class HtmlConfigAnnotation {
 				psb.set(HTML_addBeanTypes, bool(a.addBeanTypes()));
 			if (! a.addKeyValueTableHeaders().isEmpty())
 				psb.set(HTML_addKeyValueTableHeaders, bool(a.addKeyValueTableHeaders()));
-			if (! a.detectLabelParameters().isEmpty())
-				psb.set(HTML_detectLabelParameters, bool(a.detectLabelParameters()));
-			if (! a.detectLinksInStrings().isEmpty())
-				psb.set(HTML_detectLinksInStrings, bool(a.detectLinksInStrings()));
+			if (! a.dontDetectLabelParameters().isEmpty())
+				psb.set(HTML_dontDetectLabelParameters, bool(a.dontDetectLabelParameters()));
+			if (! a.dontDetectLinksInStrings().isEmpty())
+				psb.set(HTML_dontDetectLinksInStrings, bool(a.dontDetectLinksInStrings()));
 			if (! a.labelParameter().isEmpty())
 				psb.set(HTML_labelParameter, string(a.labelParameter()));
 			if (! a.uriAnchorText().isEmpty())
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
index 2b80658..d9f4101 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
@@ -307,8 +307,8 @@ public class JsoParserBuilder extends InputStreamParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public JsoParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
index 63d406c..142ee7e 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
@@ -307,8 +307,8 @@ public class JsoSerializerBuilder extends OutputStreamSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsoSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public JsoSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
index 29bfcdc..133fb46 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
@@ -328,8 +328,8 @@ public class JsonParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public JsonParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
index 3835ca4..c5d526a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
@@ -487,8 +487,8 @@ public class JsonSchemaSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public JsonSchemaSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
index 3b36779..39966bb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
@@ -364,8 +364,8 @@ public class JsonSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public JsonSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
index bf29b82..2f0a487 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
@@ -307,8 +307,8 @@ public class SimpleJsonParserBuilder extends JsonParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public SimpleJsonParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
index 6ceeb7b..fa9b97a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
@@ -307,8 +307,8 @@ public class SimpleJsonSerializerBuilder extends JsonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SimpleJsonSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public SimpleJsonSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
index 30f169b..5e2bb99 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
@@ -517,8 +517,8 @@ public class JsonSchemaGeneratorBuilder extends BeanTraverseBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public JsonSchemaGeneratorBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public JsonSchemaGeneratorBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
index 17aa2f3..b0a6f1b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
@@ -307,8 +307,8 @@ public class MsgPackParserBuilder extends InputStreamParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public MsgPackParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
index e7fe6ee..1071a65 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
@@ -307,8 +307,8 @@ public class MsgPackSerializerBuilder extends OutputStreamSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MsgPackSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public MsgPackSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
index 5078ceb..57086c9 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
@@ -423,8 +423,8 @@ public class OpenApiParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public OpenApiParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
index adec1b9..d0d7fca 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
@@ -434,8 +434,8 @@ public class OpenApiSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OpenApiSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public OpenApiSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
index 13f3931..2a60585 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
@@ -338,8 +338,8 @@ public class InputStreamParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public InputStreamParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public InputStreamParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
index e961944..c664beb 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
@@ -586,8 +586,8 @@ public class ParserBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public ParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
index 2a8076d..7020c4a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
@@ -625,8 +625,8 @@ public class ParserGroupBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ParserGroupBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public ParserGroupBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
index c01dbf6..7fa87c4 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserSession.java
@@ -326,7 +326,7 @@ public abstract class ParserSession extends BeanSession {
 		if (propertyName.equals(getBeanTypePropertyName(beanMap.getClassMeta())))
 			return;
 		if (! isIgnoreUnknownBeanProperties())
-			if (value != null || ! isIgnoreUnknownNullBeanProperties())
+			if (value != null || isDontIgnoreUnknownNullBeanProperties())
 				throw new ParseException(this,
 					"Unknown property ''{0}'' encountered while trying to parse into class ''{1}''", propertyName,
 					beanMap.getClassMeta());
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
index 3af8b76..598077b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
@@ -375,8 +375,8 @@ public abstract class ReaderParserBuilder extends ParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public ReaderParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public ReaderParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
index 50d0277..a9cf026 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
@@ -308,8 +308,8 @@ public class PlainTextParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public PlainTextParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
index 9506f57..1b81ba8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
@@ -308,8 +308,8 @@ public class PlainTextSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public PlainTextSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public PlainTextSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
index ba4e5db..1c54198 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ClassInfo.java
@@ -2147,6 +2147,16 @@ public final class ClassInfo {
 	}
 
 	/**
+	 * Returns <jk>true</jk> if all specified flags are applicable to this field.
+	 *
+	 * @param flags The flags to test for.
+	 * @return <jk>true</jk> if all specified flags are applicable to this field.
+	 */
+	public boolean is(ReflectFlags...flags) {
+		return isAll(flags);
+	}
+
+	/**
 	 * Returns the package of this class.
 	 *
 	 * @return The package of this class.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java
index a8d24af..73d7c36 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/ExecutableInfo.java
@@ -405,6 +405,16 @@ public abstract class ExecutableInfo {
 	}
 
 	/**
+	 * Returns <jk>true</jk> if all specified flags are applicable to this field.
+	 *
+	 * @param flags The flags to test for.
+	 * @return <jk>true</jk> if all specified flags are applicable to this field.
+	 */
+	public boolean is(ReflectFlags...flags) {
+		return isAll(flags);
+	}
+
+	/**
 	 * Returns <jk>true</jk> if all specified flags are applicable to this method.
 	 *
 	 * @param flags The flags to test for.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java
index 72b4d56..2e6f3ca 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/reflect/FieldInfo.java
@@ -236,6 +236,16 @@ public final class FieldInfo implements Comparable<FieldInfo> {
 	}
 
 	/**
+	 * Returns <jk>true</jk> if all specified flags are applicable to this field.
+	 *
+	 * @param flags The flags to test for.
+	 * @return <jk>true</jk> if all specified flags are applicable to this field.
+	 */
+	public boolean is(ReflectFlags...flags) {
+		return isAll(flags);
+	}
+
+	/**
 	 * Returns <jk>true</jk> if this field has the {@link Deprecated @Deprecated} annotation on it.
 	 *
 	 * @return <jk>true</jk> if this field has the {@link Deprecated @Deprecated} annotation on it.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
index d531555..4256b85 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
@@ -341,8 +341,8 @@ public class OutputStreamSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public OutputStreamSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public OutputStreamSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
index 42f9dc3..cace86a 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
@@ -806,8 +806,8 @@ public class SerializerBuilder extends BeanTraverseBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public SerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
index f3db041..74dd689 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
@@ -763,8 +763,8 @@ public class SerializerGroupBuilder extends BeanTraverseBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SerializerGroupBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public SerializerGroupBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
index 52832de..a5ef0db 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
@@ -555,8 +555,8 @@ public class WriterSerializerBuilder extends SerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public WriterSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public WriterSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
index badadb3..6394df5 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
@@ -328,8 +328,8 @@ public class SoapXmlSerializerBuilder extends XmlSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public SoapXmlSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public SoapXmlSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
index 7aac3aa..20e0492 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
@@ -367,8 +367,8 @@ public class UonParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public UonParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
index abc21ef..fb9411b 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
@@ -488,8 +488,8 @@ public class UonSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UonSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public UonSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
index c7740c2..a6408a0 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
@@ -328,8 +328,8 @@ public class UrlEncodingParserBuilder extends UonParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public UrlEncodingParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
index 978be65..f5ed101 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
@@ -328,8 +328,8 @@ public class UrlEncodingSerializerBuilder extends UonSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public UrlEncodingSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public UrlEncodingSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
index 0b7c33f..6714286 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
@@ -456,8 +456,8 @@ public class XmlParserBuilder extends ReaderParserBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlParserBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public XmlParserBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
index 27b7865..a543672 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializer.java
@@ -192,86 +192,86 @@ public class XmlSerializer extends WriterSerializer implements XmlMetaProvider,
 	public static final String XML_addNamespaceUrisToRoot = PREFIX + ".addNamespaceUrisToRoot.b";
 
 	/**
-	 * Configuration property:  Auto-detect namespace usage.
+	 * Configuration property:  Default namespace.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.xml.XmlSerializer#XML_autoDetectNamespaces XML_autoDetectNamespaces}
-	 * 	<li><b>Name:</b>  <js>"XmlSerializer.autoDetectNamespaces.b"</js>
-	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
-	 * 	<li><b>System property:</b>  <c>XmlSerializer.autoDetectNamespaces</c>
-	 * 	<li><b>Environment variable:</b>  <c>XMLSERIALIZER_AUTODETECTNAMESPACES</c>
-	 * 	<li><b>Default:</b>  <jk>true</jk>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.xml.XmlSerializer#XML_defaultNamespace XML_defaultNamespace}
+	 * 	<li><b>Name:</b>  <js>"XmlSerializer.defaultNamespace.s"</js>
+	 * 	<li><b>Data type:</b>  {@link org.apache.juneau.xml.Namespace}
+	 * 	<li><b>System property:</b>  <c>XmlSerializer.defaultNamespace</c>
+	 * 	<li><b>Environment variable:</b>  <c>XMLSERIALIZER_DEFAULTNAMESPACE</c>
+	 * 	<li><b>Default:</b>  <js>"juneau: http://www.apache.org/2013/Juneau"</js>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.xml.annotation.XmlConfig#autoDetectNamespaces()}
+	 * 			<li class='ja'>{@link org.apache.juneau.xml.annotation.XmlConfig#defaultNamespace()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.xml.XmlSerializerBuilder#dontAutoDetectNamespaces()}
+	 * 			<li class='jm'>{@link org.apache.juneau.xml.XmlSerializerBuilder#defaultNamespace(String)}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
-	 * Detect namespace usage before serialization.
-	 *
-	 * <p>
-	 * Used in conjunction with {@link #XML_addNamespaceUrisToRoot} to reduce the list of namespace URLs appended to the
-	 * root element to only those that will be used in the resulting document.
-	 *
-	 * <p>
-	 * If enabled, then the data structure will first be crawled looking for namespaces that will be encountered before
-	 * the root element is serialized.
-	 *
-	 * <p>
-	 * This setting is ignored if {@link #XML_enableNamespaces} is not enabled.
-	 *
-	 * <ul class='notes'>
-	 * 	<li>
-	 * 		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 #XML_namespaces} property.
-	 * </ul>
+	 * Specifies the default namespace URI for this document.
 	 *
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc XmlNamespaces}
 	 * </ul>
 	 */
-	public static final String XML_autoDetectNamespaces = PREFIX + ".autoDetectNamespaces.b";
+	public static final String XML_defaultNamespace = PREFIX + ".defaultNamespace.s";
 
 	/**
-	 * Configuration property:  Default namespace.
+	 * Configuration property:  Don't auto-detect namespace usage.
 	 *
 	 * <h5 class='section'>Property:</h5>
 	 * <ul class='spaced-list'>
-	 * 	<li><b>ID:</b>  {@link org.apache.juneau.xml.XmlSerializer#XML_defaultNamespace XML_defaultNamespace}
-	 * 	<li><b>Name:</b>  <js>"XmlSerializer.defaultNamespace.s"</js>
-	 * 	<li><b>Data type:</b>  {@link org.apache.juneau.xml.Namespace}
-	 * 	<li><b>System property:</b>  <c>XmlSerializer.defaultNamespace</c>
-	 * 	<li><b>Environment variable:</b>  <c>XMLSERIALIZER_DEFAULTNAMESPACE</c>
-	 * 	<li><b>Default:</b>  <js>"juneau: http://www.apache.org/2013/Juneau"</js>
+	 * 	<li><b>ID:</b>  {@link org.apache.juneau.xml.XmlSerializer#XML_dontAutoDetectNamespaces XML_dontAutoDetectNamespaces}
+	 * 	<li><b>Name:</b>  <js>"XmlSerializer.dontAutoDetectNamespaces.b"</js>
+	 * 	<li><b>Data type:</b>  <jk>boolean</jk>
+	 * 	<li><b>System property:</b>  <c>XmlSerializer.dontAutoDetectNamespaces</c>
+	 * 	<li><b>Environment variable:</b>  <c>XMLSERIALIZER_DONTAUTODETECTNAMESPACES</c>
+	 * 	<li><b>Default:</b>  <jk>false</jk>
 	 * 	<li><b>Session property:</b>  <jk>false</jk>
 	 * 	<li><b>Annotations:</b>
 	 * 		<ul>
-	 * 			<li class='ja'>{@link org.apache.juneau.xml.annotation.XmlConfig#defaultNamespace()}
+	 * 			<li class='ja'>{@link org.apache.juneau.xml.annotation.XmlConfig#dontAutoDetectNamespaces()}
 	 * 		</ul>
 	 * 	<li><b>Methods:</b>
 	 * 		<ul>
-	 * 			<li class='jm'>{@link org.apache.juneau.xml.XmlSerializerBuilder#defaultNamespace(String)}
+	 * 			<li class='jm'>{@link org.apache.juneau.xml.XmlSerializerBuilder#dontAutoDetectNamespaces()}
 	 * 		</ul>
 	 * </ul>
 	 *
 	 * <h5 class='section'>Description:</h5>
 	 * <p>
-	 * Specifies the default namespace URI for this document.
+	 * Don't detect namespace usage before serialization.
+	 *
+	 * <p>
+	 * Used in conjunction with {@link #XML_addNamespaceUrisToRoot} to reduce the list of namespace URLs appended to the
+	 * root element to only those that will be used in the resulting document.
+	 *
+	 * <p>
+	 * If disabled, then the data structure will first be crawled looking for namespaces that will be encountered before
+	 * the root element is serialized.
+	 *
+	 * <p>
+	 * This setting is ignored if {@link #XML_enableNamespaces} is not enabled.
+	 *
+	 * <ul class='notes'>
+	 * 	<li>
+	 * 		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 #XML_namespaces} property.
+	 * </ul>
 	 *
 	 * <ul class='seealso'>
 	 * 	<li class='link'>{@doc XmlNamespaces}
 	 * </ul>
 	 */
-	public static final String XML_defaultNamespace = PREFIX + ".defaultNamespace.s";
+	public static final String XML_dontAutoDetectNamespaces = PREFIX + ".dontAutoDetectNamespaces.b";
 
 	/**
 	 * Configuration property:  Enable support for XML namespaces.
@@ -465,7 +465,7 @@ public class XmlSerializer extends WriterSerializer implements XmlMetaProvider,
 	//-------------------------------------------------------------------------------------------------------------------
 
 	private final boolean
-		autoDetectNamespaces,
+		dontAutoDetectNamespaces,
 		enableNamespaces,
 		addNamespaceUrlsToRoot,
 		addBeanTypes;
@@ -513,7 +513,7 @@ public class XmlSerializer extends WriterSerializer implements XmlMetaProvider,
 	 */
 	public XmlSerializer(PropertyStore ps, String produces, String accept) {
 		super(ps, produces, accept);
-		autoDetectNamespaces = getBooleanProperty(XML_autoDetectNamespaces, true);
+		dontAutoDetectNamespaces = getBooleanProperty(XML_dontAutoDetectNamespaces, false);
 		enableNamespaces = getBooleanProperty(XML_enableNamespaces, false);
 		addNamespaceUrlsToRoot = getBooleanProperty(XML_addNamespaceUrisToRoot, false);
 		defaultNamespace = getInstanceProperty(XML_defaultNamespace, Namespace.class, DEFAULT_JUNEAU_NAMESPACE);
@@ -615,14 +615,14 @@ public class XmlSerializer extends WriterSerializer implements XmlMetaProvider,
 	}
 
 	/**
-	 * Auto-detect namespace usage.
+	 * Don't auto-detect namespace usage.
 	 *
-	 * @see #XML_autoDetectNamespaces
+	 * @see #XML_dontAutoDetectNamespaces
 	 * @return
-	 * 	<jk>true</jk> if namespace usage is detected before serialization.
+	 * 	<jk>false</jk> if namespace usage is detected before serialization.
 	 */
-	protected final boolean isAutoDetectNamespaces() {
-		return autoDetectNamespaces;
+	protected final boolean isDontAutoDetectNamespaces() {
+		return dontAutoDetectNamespaces;
 	}
 
 	/**
@@ -666,7 +666,7 @@ public class XmlSerializer extends WriterSerializer implements XmlMetaProvider,
 	public OMap toMap() {
 		return super.toMap()
 			.a("XmlSerializer", new DefaultFilteringOMap()
-				.a("autoDetectNamespaces", autoDetectNamespaces)
+				.a("dontAutoDetectNamespaces", dontAutoDetectNamespaces)
 				.a("enableNamespaces", enableNamespaces)
 				.a("addNamespaceUrlsToRoot", addNamespaceUrlsToRoot)
 				.a("defaultNamespace", defaultNamespace)
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
index 12ab6e7..1fc3dd8 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
@@ -74,20 +74,20 @@ public class XmlSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	/**
-	 * <i><l>XmlSerializer</l> configuration property:&emsp;</i>  Auto-detect namespace usage.
+	 * <i><l>XmlSerializer</l> configuration property:&emsp;</i>  Don't auto-detect namespace usage.
 	 *
 	 * <p>
-	 * Detect namespace usage before serialization.
+	 * Don't detect namespace usage before serialization.
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link XmlSerializer#XML_autoDetectNamespaces}
+	 * 	<li class='jf'>{@link XmlSerializer#XML_dontAutoDetectNamespaces}
 	 * </ul>
 	 *
 	 * @return This object (for method chaining).
 	 */
 	@FluentSetter
 	public XmlSerializerBuilder dontAutoDetectNamespaces() {
-		return set(XML_autoDetectNamespaces, false);
+		return set(XML_dontAutoDetectNamespaces, true);
 	}
 
 	/**
@@ -435,8 +435,8 @@ public class XmlSerializerBuilder extends WriterSerializerBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public XmlSerializerBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public XmlSerializerBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
index af0e5b0..eb87431 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerSession.java
@@ -131,7 +131,7 @@ public class XmlSerializerSession extends WriterSerializerSession {
 
 	@Override /* Serializer */
 	protected void doSerialize(SerializerPipe out, Object o) throws IOException, SerializeException {
-		if (isEnableNamespaces() && isAutoDetectNamespaces())
+		if (isEnableNamespaces() && (!isDontAutoDetectNamespaces()))
 			findNsfMappings(o);
 		serializeAnything(getXmlWriter(out), o, getExpectedRootType(o), null, null, null, isEnableNamespaces() && isAddNamespaceUrisToRoot(), XmlFormat.DEFAULT, false, false, null);
 	}
@@ -768,14 +768,14 @@ public class XmlSerializerSession extends WriterSerializerSession {
 	}
 
 	/**
-	 * Configuration property:  Auto-detect namespace usage.
+	 * Configuration property:  Don't auto-detect namespace usage.
 	 *
-	 * @see XmlSerializer#XML_autoDetectNamespaces
+	 * @see XmlSerializer#XML_dontAutoDetectNamespaces
 	 * @return
-	 * 	<jk>true</jk> if namespace usage is detected before serialization.
+	 * 	<jk>false</jk> if namespace usage is detected before serialization.
 	 */
-	protected final boolean isAutoDetectNamespaces() {
-		return ctx.isAutoDetectNamespaces();
+	protected final boolean isDontAutoDetectNamespaces() {
+		return ctx.isDontAutoDetectNamespaces();
 	}
 
 	/**
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 c556abe..2eb5f70 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
@@ -204,17 +204,17 @@ public @interface XmlConfig {
 	String addNamespaceUrisToRoot() default "";
 
 	/**
-	 * Configuration property:  Auto-detect namespace usage.
+	 * Configuration property:  Don't auto-detect namespace usage.
 	 *
 	 * <p>
-	 * Detect namespace usage before serialization.
+	 * Don't detect namespace usage before serialization.
 	 *
 	 * <p>
 	 * Used in conjunction with {@link XmlSerializer#XML_addNamespaceUrisToRoot} to reduce the list of namespace URLs appended to the
 	 * root element to only those that will be used in the resulting document.
 	 *
 	 * <p>
-	 * If enabled, then the data structure will first be crawled looking for namespaces that will be encountered before
+	 * If disabled, then the data structure will first be crawled looking for namespaces that will be encountered before
 	 * the root element is serialized.
 	 *
 	 * <p>
@@ -236,11 +236,11 @@ public @interface XmlConfig {
 	 * </ul>
 	 *
 	 * <ul class='seealso'>
-	 * 	<li class='jf'>{@link XmlSerializer#XML_autoDetectNamespaces}
+	 * 	<li class='jf'>{@link XmlSerializer#XML_dontAutoDetectNamespaces}
 	 * 	<li class='link'>{@doc XmlNamespaces}
 	 * </ul>
 	 */
-	String autoDetectNamespaces() default "";
+	String dontAutoDetectNamespaces() default "";
 
 	/**
 	 * Configuration property:  Default namespace.
diff --git a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java
index 9e8545a..cf9ab59 100644
--- a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java
+++ b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/annotation/XmlConfigAnnotation.java
@@ -47,8 +47,8 @@ public class XmlConfigAnnotation {
 				psb.set(XML_addBeanTypes, bool(a.addBeanTypes()));
 			if (! a.addNamespaceUrisToRoot().isEmpty())
 				psb.set(XML_addNamespaceUrisToRoot, bool(a.addNamespaceUrisToRoot()));
-			if (! a.autoDetectNamespaces().isEmpty())
-				psb.set(XML_autoDetectNamespaces, bool(a.autoDetectNamespaces()));
+			if (! a.dontAutoDetectNamespaces().isEmpty())
+				psb.set(XML_dontAutoDetectNamespaces, bool(a.dontAutoDetectNamespaces()));
 			if (! a.defaultNamespace().isEmpty())
 				psb.set(XML_defaultNamespace, string(a.defaultNamespace()));
 			if (! a.enableNamespaces().isEmpty())
diff --git a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
index 094fe39..e3259e5 100644
--- a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
+++ b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
@@ -388,7 +388,7 @@ public class RestClient_Config_BeanContext_Test {
 	public void a16_dontIgnorePropertiesWithoutSetters() throws Exception {
 		A16 x = client().build().post("/echoBody",A16.get()).run().cacheBody().assertBody().contains("{foo:'foo'}").getBody().as(A16.class);
 		assertNull(x.foo);
-		assertThrown(()->client().dontIgnorePropertiesWithoutSetters().build().post("/echoBody",A16.get()).run().cacheBody().assertBody().contains("{foo:'foo'}").getBody().as(A16.class)).contains("Setter or public field not defined");
+		assertThrown(()->client().dontSilentlyIgnoreMissingSetters().build().post("/echoBody",A16.get()).run().cacheBody().assertBody().contains("{foo:'foo'}").getBody().as(A16.class)).contains("Setter or public field not defined");
 	}
 
 	public static class A17 {
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
index a14c2c0..afeebdb 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
@@ -4891,8 +4891,8 @@ public class RestClientBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestClientBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public RestClientBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java
index a7cb3b5..c0d232e 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java
@@ -469,8 +469,8 @@ public class MockRestClientBuilder extends RestClientBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public MockRestClientBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public MockRestClientBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index b6feefe..5bdc9b8 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -2520,8 +2520,8 @@ public class RestContextBuilder extends BeanContextBuilder implements ServletCon
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestContextBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public RestContextBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}
 
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
index 85e8b0f..aff95d3 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestMethodContextBuilder.java
@@ -332,8 +332,8 @@ public class RestMethodContextBuilder extends BeanContextBuilder {
 	}
 
 	@Override /* GENERATED - BeanContextBuilder */
-	public RestMethodContextBuilder dontIgnorePropertiesWithoutSetters() {
-		super.dontIgnorePropertiesWithoutSetters();
+	public RestMethodContextBuilder dontSilentlyIgnoreMissingSetters() {
+		super.dontSilentlyIgnoreMissingSetters();
 		return this;
 	}