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&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: </i> Beans require at least one property.
+ * <i><l>BeanContext</l> configuration property: </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: </i> Ignore properties without setters.
+ * <i><l>BeanContext</l> configuration property: </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: </i> Ignore transient fields.
+ * <i><l>BeanContext</l> configuration property: </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: </i> Ignore unknown properties with null values.
+ * <i><l>BeanContext</l> configuration property: </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: </i> Use interface proxies.
+ * <i><l>BeanContext</l> configuration property: </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: </i> Look for URLs in {@link String Strings}.
+ * <i><l>HtmlSerializer</l> configuration property: </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: </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: </i> Look for link labels in URIs.
+ * <i><l>HtmlSerializer</l> configuration property: </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: </i> Auto-detect namespace usage.
+ * <i><l>XmlSerializer</l> configuration property: </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;
}