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 a4ea172 Context API refactoring.
a4ea172 is described below
commit a4ea172cd8b12daafb42d61add3caad2a86512de
Author: JamesBognar <[email protected]>
AuthorDate: Sat Sep 25 16:47:27 2021 -0400
Context API refactoring.
---
.../main/java/org/apache/juneau/BeanContext.java | 519 ++-------------------
.../java/org/apache/juneau/BeanContextBuilder.java | 360 +++++++++++---
.../org/apache/juneau/BeanContextableBuilder.java | 36 +-
.../java/org/apache/juneau/BeanFilterBuilder.java | 6 +-
.../main/java/org/apache/juneau/BeanSession.java | 30 +-
.../java/org/apache/juneau/annotation/Bean.java | 20 +-
.../org/apache/juneau/annotation/BeanConfig.java | 114 ++---
.../juneau/annotation/BeanConfigAnnotation.java | 32 +-
.../java/org/apache/juneau/annotation/Beanp.java | 2 +-
.../org/apache/juneau/parser/ParserListener.java | 2 +-
.../org/apache/juneau/parser/ParserSession.java | 2 +-
.../main/java/org/apache/juneau/utils/HashKey.java | 44 +-
12 files changed, 454 insertions(+), 713 deletions(-)
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 b7a250e..5fb65f2 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
@@ -76,7 +76,7 @@ import org.apache.juneau.transform.*;
* handled. These are denoted as the static <jsf>BEAN_*</jsf> fields on this
class.
*
* <p class='w800'>
- * Some settings (e.g. {@link #BEAN_beansRequireDefaultConstructor}) are used
to differentiate between bean
+ * Some settings (e.g. {@link
BeanContextBuilder#beansRequireDefaultConstructor()}) are used to differentiate
between bean
* and non-bean classes.
* Attempting to create a bean map around one of these objects will throw a
{@link BeanRuntimeException}.
* The purpose for this behavior is so that the serializers can identify these
non-bean classes and convert them to
@@ -87,7 +87,7 @@ import org.apache.juneau.transform.*;
* detected on beans.
*
* <p class='w800'>
- * Some settings (e.g. {@link #BEAN_beanMapPutReturnsOldValue}) change the
runtime behavior of bean maps.
+ * Some settings (e.g. {@link BeanContextBuilder#beanMapPutReturnsOldValue()})
change the runtime behavior of bean maps.
*
* <p class='w800'>
* Settings are specified using the {@link BeanContextBuilder#set(String,
Object)} method and related convenience
@@ -156,145 +156,6 @@ public class BeanContext extends Context {
static final String PREFIX = "BeanContext";
/**
- * Configuration property: Beans don't require at least one property.
- *
- * <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'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_disableBeansRequireSomeProperties
BEAN_disableBeansRequireSomeProperties}
- * <li><b>Name:</b>
<js>"BeanContext.disableBeansRequireSomeProperties.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.disableBeansRequireSomeProperties</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_DIABLEBEANSREQUIRESOMEPROPERTIES</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#disableBeansRequireSomeProperties()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableBeansRequireSomeProperties()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_disableBeansRequireSomeProperties =
PREFIX + ".disableBeansRequireSomeProperties.b";
-
- /**
- * Configuration property: BeanMap.put() returns old property value.
- *
- * <p>
- * When enabled, then the {@link BeanMap#put(String,Object)
BeanMap.put()} method will return old property
- * values. Otherwise, it returns <jk>null</jk>.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beanMapPutReturnsOldValue
BEAN_beanMapPutReturnsOldValue}
- * <li><b>Name:</b>
<js>"BeanContext.beanMapPutReturnsOldValue.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.beanMapPutReturnsOldValue</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANMAPPUTRETURNSOLDVALUE</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#beanMapPutReturnsOldValue()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanMapPutReturnsOldValue()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beanMapPutReturnsOldValue = PREFIX +
".beanMapPutReturnsOldValue.b";
-
- /**
- * Configuration property: Beans require no-arg constructors.
- *
- * <p>
- * When enabled, a Java class must implement a default no-arg
constructor to be considered a bean.
- * Otherwise, the bean will be serialized as a string using the {@link
Object#toString()} method.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beansRequireDefaultConstructor
BEAN_beansRequireDefaultConstructor}
- * <li><b>Name:</b>
<js>"BeanContext.beansRequireDefaultConstructor.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.beansRequireDefaultConstructor</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANSREQUIREDEFAULTCONSTRUCTOR</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#beansRequireDefaultConstructor()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beansRequireDefaultConstructor()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beansRequireDefaultConstructor = PREFIX
+ ".beansRequireDefaultConstructor.b";
-
- /**
- * Configuration property: Beans require Serializable interface.
- *
- * <p>
- * When enabled, a Java class must implement the {@link Serializable}
interface to be considered a bean.
- * Otherwise, the bean will be serialized as a string using the {@link
Object#toString()} method.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beansRequireSerializable
BEAN_beansRequireSerializable}
- * <li><b>Name:</b>
<js>"BeanContext.beansRequireSerializable.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.beansRequireSerializable</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANSREQUIRESERIALIZABLE</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#beansRequireSerializable()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beansRequireSerializable()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beansRequireSerializable = PREFIX +
".beansRequireSerializable.b";
-
- /**
- * Configuration property: Beans require setters for getters.
- *
- * <p>
- * When enabled, ignore read-only properties (properties with getters
but not setters).
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_beansRequireSettersForGetters
BEAN_beansRequireSettersForGetters}
- * <li><b>Name:</b>
<js>"BeanContext.beansRequireSettersForGetters.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.beansRequireSettersForGetters</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_BEANSREQUIRESETTERSFORGETTERS</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#beansRequireSettersForGetters()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beansRequireSettersForGetters()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_beansRequireSettersForGetters = PREFIX
+ ".beansRequireSettersForGetters.b";
-
- /**
* Configuration property: Bean type property name.
*
* <p>
@@ -324,230 +185,6 @@ public class BeanContext extends Context {
public static final String BEAN_typePropertyName = PREFIX +
".typePropertyName.s";
/**
- * Configuration property: Don't ignore transient fields.
- *
- * <p>
- * When enabled, methods and fields marked as <jk>transient</jk> will
not be ignored as bean properties.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_disableIgnoreTransientFields
BEAN_disableIgnoreTransientFields}
- * <li><b>Name:</b>
<js>"BeanContext.disableIgnoreTransientFields.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.disableIgnoreTransientFields</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_DISABLEIGNORETRANSIENTFIELDS</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#disableIgnoreTransientFields()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableIgnoreTransientFields()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_disableIgnoreTransientFields = PREFIX +
".disableIgnoreTransientFields.b";
-
- /**
- * Configuration property: 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 throw a {@link BeanRuntimeException}.
- * Otherwise it will be silently ignored.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_disableIgnoreUnknownNullBeanProperties
BEAN_disableIgnoreUnknownNullBeanProperties}
- * <li><b>Name:</b>
<js>"BeanContext.disableIgnoreUnknownNullBeanProperties.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.disableIgnoreUnknownNullBeanProperties</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_DISABLEIGNOREUNKNOWNNULLBEANPROPERTIES</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#disableIgnoreUnknownNullBeanProperties()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableIgnoreUnknownNullBeanProperties()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_disableIgnoreUnknownNullBeanProperties
= PREFIX + ".disableIgnoreUnknownNullBeanProperties.b";
-
- /**
- * Configuration property: Don't silently ignore missing setters.
- *
- * <p>
- * 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'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_disableIgnoreMissingSetters
BEAN_disableIgnoreMissingSetters}
- * <li><b>Name:</b>
<js>"BeanContext.disableIgnoreMissingSetters.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.disableIgnoreMissingSetters</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_DISABLEIGNOREMISSINGSETTERS</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#disableIgnoreMissingSetters()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableIgnoreMissingSetters()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_disableIgnoreMissingSetters = PREFIX +
".disableIgnoreMissingSetters.b";
-
- /**
- * Configuration property: Don't use interface proxies.
- *
- * <p>
- * 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}.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_disableInterfaceProxies
BEAN_disableInterfaceProxies}
- * <li><b>Name:</b>
<js>"BeanContext.disableInterfaceProxies.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.disableInterfaceProxies</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_DISABLEINTERFACEPROXIES</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#disableInterfaceProxies()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableInterfaceProxies()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_disableInterfaceProxies = PREFIX +
".disableInterfaceProxies.b";
-
- /**
- * Configuration property: Find fluent setters.
- *
- * <p>
- * When enabled, fluent setters are detected on beans during parsing.
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_findFluentSetters BEAN_findFluentSetters}
- * <li><b>Name:</b> <js>"BeanContext.findFluentSetters.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.findFluentSetters</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_FINDFLUENTSETTERS</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#findFluentSetters()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#findFluentSetters()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#findFluentSetters()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_findFluentSetters = PREFIX +
".findFluentSetters.b";
-
- /**
- * Configuration property: Ignore invocation errors on getters.
- *
- * <p>
- * When enabled, errors thrown when calling bean getter methods will
silently be ignored.
- * Otherwise, a {@code BeanRuntimeException} is thrown.
- *
- * <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>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>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()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnGetters()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_ignoreInvocationExceptionsOnGetters =
PREFIX + ".ignoreInvocationExceptionsOnGetters.b";
-
- /**
- * Configuration property: Ignore invocation errors on setters.
- *
- * <p>
- * When enabled, errors thrown when calling bean setter methods will
silently be ignored.
- * Otherwise, a {@code BeanRuntimeException} is thrown.
- *
- * <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>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>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()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnSetters()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_ignoreInvocationExceptionsOnSetters =
PREFIX + ".ignoreInvocationExceptionsOnSetters.b";
-
- /**
- * Configuration property: Ignore unknown properties.
- *
- * <p>
- * 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'>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>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>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()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#ignoreUnknownBeanProperties()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_ignoreUnknownBeanProperties = PREFIX +
".ignoreUnknownBeanProperties.b";
-
- /**
* Configuration property: Locale.
*
* <p>
@@ -704,37 +341,6 @@ public class BeanContext extends Context {
public static final String BEAN_propertyNamer = PREFIX +
".propertyNamer.c";
/**
- * Configuration property: Sort bean properties.
- *
- * <p>
- * When enabled, all bean properties will be serialized and access in
alphabetical order.
- * Otherwise, the natural order of the bean properties is used which is
dependent on the JVM vendor.
- * On IBM JVMs, the bean properties are ordered based on their ordering
in the Java file.
- * On Oracle JVMs, the bean properties are not ordered (which follows
the official JVM specs).
- *
- * <h5 class='section'>Property:</h5>
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_sortProperties BEAN_sortProperties}
- * <li><b>Name:</b> <js>"BeanContext.sortProperties.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b> <c>BeanContext.sortProperties</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_SORTPROPERTIES</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#sort()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#sortProperties()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#sortProperties()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_sortProperties = PREFIX +
".sortProperties.b";
-
- /**
* Configuration property: Java object swaps.
*
* <p>
@@ -792,59 +398,6 @@ public class BeanContext extends Context {
*/
public static final String BEAN_timeZone = PREFIX + ".timeZone.s";
- /**
- * Configuration property: Use enum names.
- *
- * <p>
- * When enabled, enums are always serialized by name, not using {@link
Object#toString()}..
- *
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_useEnumNames BEAN_useEnumNames}
- * <li><b>Name:</b> <js>"BeanContext.useEnumNames.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b> <c>BeanContext.useEnumNames</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_USEENUMNAMES</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#useEnumNames()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#useEnumNames()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_useEnumNames = PREFIX +
".useEnumNames.b";
-
- /**
- * Configuration property: Use Java Introspector.
- *
- * <p>
- * Using the built-in Java bean introspector will not pick up fields or
non-standard getters/setters.
- * <br>Most {@link Bean @Bean} annotations will be ignored..
- *
- * <ul class='spaced-list'>
- * <li><b>ID:</b> {@link
org.apache.juneau.BeanContext#BEAN_useJavaBeanIntrospector
BEAN_useJavaBeanIntrospector}
- * <li><b>Name:</b>
<js>"BeanContext.useJavaBeanIntrospector.b"</js>
- * <li><b>Data type:</b> <jk>boolean</jk>
- * <li><b>System property:</b>
<c>BeanContext.useJavaBeanIntrospector</c>
- * <li><b>Environment variable:</b>
<c>BEANCONTEXT_USEJAVABEANINTROSPECTOR</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#useJavaBeanIntrospector()}
- * </ul>
- * <li><b>Methods:</b>
- * <ul>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#useJavaBeanIntrospector()}
- * </ul>
- * </ul>
- */
- public static final String BEAN_useJavaBeanIntrospector = PREFIX +
".useJavaBeanIntrospector.b";
-
/*
* The default package pattern exclusion list.
* Any beans in packages in this list will not be considered beans.
@@ -884,7 +437,7 @@ public class BeanContext extends Context {
/** Default reusable unmodifiable session. Can be used to avoid
overhead of creating a session (for creating BeanMaps for example).*/
public static final BeanSession DEFAULT_SESSION = new
BeanSession(DEFAULT, DEFAULT.createDefaultBeanSessionArgs().unmodifiable());
- private final boolean
+ final boolean
beansRequireDefaultConstructor,
beansRequireSerializable,
beansRequireSettersForGetters,
@@ -941,22 +494,22 @@ public class BeanContext extends Context {
cp = cp.subset(new String[]{"Context","BeanContext"});
- beansRequireDefaultConstructor =
cp.getBoolean(BEAN_beansRequireDefaultConstructor).orElse(false);
- beansRequireSerializable =
cp.getBoolean(BEAN_beansRequireSerializable).orElse(false);
- beansRequireSettersForGetters =
cp.getBoolean(BEAN_beansRequireSettersForGetters).orElse(false);
- beansRequireSomeProperties = !
cp.getBoolean(BEAN_disableBeansRequireSomeProperties).orElse(false);
- beanMapPutReturnsOldValue =
cp.getBoolean(BEAN_beanMapPutReturnsOldValue).orElse(false);
- useEnumNames = cp.getBoolean(BEAN_useEnumNames).orElse(false);
- useInterfaceProxies = !
cp.getBoolean(BEAN_disableInterfaceProxies).orElse(false);
- ignoreUnknownBeanProperties =
cp.getBoolean(BEAN_ignoreUnknownBeanProperties).orElse(false);
- ignoreUnknownNullBeanProperties = !
cp.getBoolean(BEAN_disableIgnoreUnknownNullBeanProperties).orElse(false);
- ignoreMissingSetters = !
cp.getBoolean(BEAN_disableIgnoreMissingSetters).orElse(false);
- ignoreTransientFields = !
cp.getBoolean(BEAN_disableIgnoreTransientFields).orElse(false);
- ignoreInvocationExceptionsOnGetters =
cp.getBoolean(BEAN_ignoreInvocationExceptionsOnGetters).orElse(false);
- ignoreInvocationExceptionsOnSetters =
cp.getBoolean(BEAN_ignoreInvocationExceptionsOnSetters).orElse(false);
- useJavaBeanIntrospector =
cp.getBoolean(BEAN_useJavaBeanIntrospector).orElse(false);
- sortProperties =
cp.getBoolean(BEAN_sortProperties).orElse(false);
- findFluentSetters =
cp.getBoolean(BEAN_findFluentSetters).orElse(false);
+ beansRequireDefaultConstructor =
builder.beansRequireDefaultConstructor;
+ beansRequireSerializable = builder.beansRequireSerializable;
+ beansRequireSettersForGetters =
builder.beansRequireSettersForGetters;
+ beansRequireSomeProperties = !
builder.disableBeansRequireSomeProperties;
+ beanMapPutReturnsOldValue = builder.beanMapPutReturnsOldValue;
+ useEnumNames = builder.useEnumNames;
+ useInterfaceProxies = ! builder.disableInterfaceProxies;
+ ignoreUnknownBeanProperties =
builder.ignoreUnknownBeanProperties;
+ ignoreUnknownNullBeanProperties = !
builder.disableIgnoreUnknownNullBeanProperties;
+ ignoreMissingSetters = ! builder.disableIgnoreMissingSetters;
+ ignoreTransientFields = ! builder.disableIgnoreTransientFields;
+ ignoreInvocationExceptionsOnGetters =
builder.ignoreInvocationExceptionsOnGetters;
+ ignoreInvocationExceptionsOnSetters =
builder.ignoreInvocationExceptionsOnSetters;
+ useJavaBeanIntrospector = builder.useJavaBeanIntrospector;
+ sortProperties = builder.sortProperties;
+ findFluentSetters = builder.findFluentSetters;
typePropertyName =
cp.getString(BEAN_typePropertyName).orElse("_type");
beanConstructorVisibility = builder.beanConstructorVisibility;
@@ -1655,7 +1208,7 @@ public class BeanContext extends Context {
/**
* BeanMap.put() returns old property value.
*
- * @see #BEAN_beanMapPutReturnsOldValue
+ * @see BeanContextBuilder#beanMapPutReturnsOldValue()
* @return
* <jk>true</jk> if the {@link BeanMap#put(String,Object)
BeanMap.put()} method will return old property values.
* <br>Otherwise, it returns <jk>null</jk>.
@@ -1678,7 +1231,7 @@ public class BeanContext extends Context {
/**
* Beans require no-arg constructors.
*
- * @see #BEAN_beansRequireDefaultConstructor
+ * @see BeanContextBuilder#beansRequireDefaultConstructor()
* @return
* <jk>true</jk> if a Java class must implement a default no-arg
constructor to be considered a bean.
* <br>Otherwise, the bean will be serialized as a string using
the {@link Object#toString()} method.
@@ -1690,7 +1243,7 @@ public class BeanContext extends Context {
/**
* Beans require Serializable interface.
*
- * @see #BEAN_beansRequireSerializable
+ * @see BeanContextBuilder#beansRequireSerializable()
* @return
* <jk>true</jk> if a Java class must implement the {@link
Serializable} interface to be considered a bean.
* <br>Otherwise, the bean will be serialized as a string using
the {@link Object#toString()} method.
@@ -1702,7 +1255,7 @@ public class BeanContext extends Context {
/**
* Beans require setters for getters.
*
- * @see #BEAN_beansRequireSettersForGetters
+ * @see BeanContextBuilder#beansRequireSettersForGetters()
* @return
* <jk>true</jk> if only getters that have equivalent setters will
be considered as properties on a bean.
* <br>Otherwise, they are ignored.
@@ -1714,7 +1267,7 @@ public class BeanContext extends Context {
/**
* Beans require at least one property.
*
- * @see #BEAN_disableBeansRequireSomeProperties
+ * @see BeanContextBuilder#disableBeansRequireSomeProperties()
* @return
* <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.
@@ -1740,7 +1293,7 @@ public class BeanContext extends Context {
* <h5 class='section'>Description:</h5>
* <p>
*
- * @see #BEAN_findFluentSetters
+ * @see BeanContextBuilder#findFluentSetters()
* @return
* <jk>true</jk> if fluent setters are detected on beans.
*/
@@ -1751,7 +1304,7 @@ public class BeanContext extends Context {
/**
* Ignore invocation errors on getters.
*
- * @see #BEAN_ignoreInvocationExceptionsOnGetters
+ * @see BeanContextBuilder#ignoreInvocationExceptionsOnGetters()
* @return
* <jk>true</jk> if errors thrown when calling bean getter methods
are silently ignored.
*/
@@ -1762,7 +1315,7 @@ public class BeanContext extends Context {
/**
* Ignore invocation errors on setters.
*
- * @see #BEAN_ignoreInvocationExceptionsOnSetters
+ * @see BeanContextBuilder#ignoreInvocationExceptionsOnSetters()
* @return
* <jk>true</jk> if errors thrown when calling bean setter methods
are silently ignored.
*/
@@ -1773,7 +1326,7 @@ public class BeanContext extends Context {
/**
* Silently ignore missing setters.
*
- * @see #BEAN_disableIgnoreMissingSetters
+ * @see BeanContextBuilder#disableIgnoreMissingSetters()
* @return
* <jk>true</jk> if trying to set a value on a bean property
without a setter should throw a {@link BeanRuntimeException}.
*/
@@ -1782,9 +1335,9 @@ public class BeanContext extends Context {
}
/**
- * Iignore transient fields.
+ * Ignore transient fields.
*
- * @see #BEAN_disableIgnoreTransientFields
+ * @see BeanContextBuilder#disableIgnoreTransientFields()
* @return
* <jk>true</jk> if fields and methods marked as transient should
not be ignored.
*/
@@ -1795,7 +1348,7 @@ public class BeanContext extends Context {
/**
* Ignore unknown properties.
*
- * @see #BEAN_ignoreUnknownBeanProperties
+ * @see BeanContextBuilder#ignoreUnknownBeanProperties()
* @return
* <jk>true</jk> if trying to set a value on a non-existent bean
property is silently ignored.
* <br>Otherwise, a {@code RuntimeException} is thrown.
@@ -1807,7 +1360,7 @@ public class BeanContext extends Context {
/**
* Ignore unknown properties with null values.
*
- * @see #BEAN_disableIgnoreUnknownNullBeanProperties
+ * @see BeanContextBuilder#disableIgnoreUnknownNullBeanProperties()
* @return
* <jk>true</jk> if trying to set a <jk>null</jk> value on a
non-existent bean property should throw a {@link BeanRuntimeException}.
*/
@@ -1873,7 +1426,7 @@ public class BeanContext extends Context {
/**
* Sort bean properties.
*
- * @see #BEAN_sortProperties
+ * @see BeanContextBuilder#sortProperties()
* @return
* <jk>true</jk> if all bean properties will be serialized and
access in alphabetical order.
*/
@@ -1884,7 +1437,7 @@ public class BeanContext extends Context {
/**
* Use enum names.
*
- * @see #BEAN_useEnumNames
+ * @see BeanContextBuilder#useEnumNames()
* @return
* <jk>true</jk> if enums are always serialized by name, not using
{@link Object#toString()}.
*/
@@ -1895,7 +1448,7 @@ public class BeanContext extends Context {
/**
* Use interface proxies.
*
- * @see #BEAN_disableInterfaceProxies
+ * @see BeanContextBuilder#disableInterfaceProxies()
* @return
* <jk>true</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.
@@ -1907,7 +1460,7 @@ public class BeanContext extends Context {
/**
* Use Java Introspector.
*
- * @see #BEAN_useJavaBeanIntrospector
+ * @see BeanContextBuilder#useJavaBeanIntrospector()
* @return
* <jk>true</jk> if the built-in Java bean introspector should be
used for bean introspection.
*/
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 3cb6a17..a673681 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
@@ -67,6 +67,10 @@ public class BeanContextBuilder extends ContextBuilder {
Visibility beanClassVisibility, beanConstructorVisibility,
beanMethodVisibility, beanFieldVisibility;
List<Class<?>> beanDictionary;
+ boolean disableBeansRequireSomeProperties, beanMapPutReturnsOldValue,
beansRequireDefaultConstructor, beansRequireSerializable,
+ beansRequireSettersForGetters, disableIgnoreTransientFields,
disableIgnoreUnknownNullBeanProperties, disableIgnoreMissingSetters,
+ disableInterfaceProxies, findFluentSetters,
ignoreInvocationExceptionsOnGetters, ignoreInvocationExceptionsOnSetters,
+ ignoreUnknownBeanProperties, sortProperties, useEnumNames,
useJavaBeanIntrospector;
/**
* Constructor.
@@ -75,11 +79,27 @@ public class BeanContextBuilder extends ContextBuilder {
*/
protected BeanContextBuilder() {
super();
- beanClassVisibility = env("RestContext.beanClassVisibility",
PUBLIC);
- beanConstructorVisibility =
env("RestContext.beanConstructorVisibility", PUBLIC);
- beanMethodVisibility = env("RestContext.beanMethodVisibility",
PUBLIC);
- beanFieldVisibility = env("RestContext.beanFieldVisibility",
PUBLIC);
+ beanClassVisibility = env("BeanContext.beanClassVisibility",
PUBLIC);
+ beanConstructorVisibility =
env("BeanContext.beanConstructorVisibility", PUBLIC);
+ beanMethodVisibility = env("BeanContext.beanMethodVisibility",
PUBLIC);
+ beanFieldVisibility = env("BeanContext.beanFieldVisibility",
PUBLIC);
beanDictionary = null;
+ disableBeansRequireSomeProperties =
env("BeanContext.disableBeansRequireSomeProperties", false);
+ beanMapPutReturnsOldValue =
env("BeanContext.beanMapPutReturnsOldValue", false);
+ beansRequireDefaultConstructor =
env("BeanContext.beansRequireDefaultConstructor", false);
+ beansRequireSerializable =
env("BeanContext.beansRequireSerializable", false);
+ beansRequireSettersForGetters =
env("BeanContext.beansRequireSettersForGetters", false);
+ disableIgnoreTransientFields =
env("BeanContext.disableIgnoreTransientFields", false);
+ disableIgnoreUnknownNullBeanProperties =
env("BeanContext.disableIgnoreUnknownNullBeanProperties", false);
+ disableIgnoreMissingSetters =
env("BeanContext.disableIgnoreMissingSetters", false);
+ disableInterfaceProxies =
env("BeanContext.disableInterfaceProxies", false);
+ findFluentSetters = env("BeanContext.findFluentSetters", false);
+ ignoreInvocationExceptionsOnGetters =
env("BeanContext.ignoreInvocationExceptionsOnGetters", false);
+ ignoreInvocationExceptionsOnSetters =
env("BeanContext.ignoreInvocationExceptionsOnSetters", false);
+ ignoreUnknownBeanProperties =
env("BeanContext.ignoreUnknownBeanProperties", false);
+ sortProperties = env("BeanContext.sortProperties", false);
+ useEnumNames = env("BeanContext.useEnumNames", false);
+ useJavaBeanIntrospector =
env("BeanContext.useJavaBeanIntrospector", false);
}
/**
@@ -94,6 +114,22 @@ public class BeanContextBuilder extends ContextBuilder {
beanMethodVisibility = copyFrom.beanMethodVisibility;
beanFieldVisibility = copyFrom.beanFieldVisibility;
beanDictionary = copyFrom.beanDictionary.isEmpty() ? null : new
ArrayList<>(copyFrom.beanDictionary);
+ disableBeansRequireSomeProperties = !
copyFrom.beansRequireSomeProperties;
+ beanMapPutReturnsOldValue = copyFrom.beanMapPutReturnsOldValue;
+ beansRequireDefaultConstructor =
copyFrom.beansRequireDefaultConstructor;
+ beansRequireSerializable = copyFrom.beansRequireSerializable;
+ beansRequireSettersForGetters =
copyFrom.beansRequireSettersForGetters;
+ disableIgnoreTransientFields = ! copyFrom.ignoreTransientFields;
+ disableIgnoreUnknownNullBeanProperties = !
copyFrom.ignoreUnknownNullBeanProperties;
+ disableIgnoreMissingSetters = ! copyFrom.ignoreMissingSetters;
+ disableInterfaceProxies = ! copyFrom.useInterfaceProxies;
+ findFluentSetters = copyFrom.findFluentSetters;
+ ignoreInvocationExceptionsOnGetters =
copyFrom.ignoreInvocationExceptionsOnGetters;
+ ignoreInvocationExceptionsOnSetters =
copyFrom.ignoreInvocationExceptionsOnSetters;
+ ignoreUnknownBeanProperties =
copyFrom.ignoreUnknownBeanProperties;
+ sortProperties = copyFrom.sortProperties;
+ useEnumNames = copyFrom.useEnumNames;
+ useJavaBeanIntrospector = copyFrom.useJavaBeanIntrospector;
}
/**
@@ -108,6 +144,22 @@ public class BeanContextBuilder extends ContextBuilder {
beanMethodVisibility = copyFrom.beanMethodVisibility;
beanFieldVisibility = copyFrom.beanFieldVisibility;
beanDictionary = copyFrom.beanDictionary == null ? null : new
ArrayList<>(copyFrom.beanDictionary);
+ disableBeansRequireSomeProperties =
copyFrom.disableBeansRequireSomeProperties;
+ beanMapPutReturnsOldValue = copyFrom.beanMapPutReturnsOldValue;
+ beansRequireDefaultConstructor =
copyFrom.beansRequireDefaultConstructor;
+ beansRequireSerializable = copyFrom.beansRequireSerializable;
+ beansRequireSettersForGetters =
copyFrom.beansRequireSettersForGetters;
+ disableIgnoreTransientFields =
copyFrom.disableIgnoreTransientFields;
+ disableIgnoreUnknownNullBeanProperties =
copyFrom.disableIgnoreUnknownNullBeanProperties;
+ disableIgnoreMissingSetters =
copyFrom.disableIgnoreMissingSetters;
+ disableInterfaceProxies = copyFrom.disableInterfaceProxies;
+ findFluentSetters = copyFrom.findFluentSetters;
+ ignoreInvocationExceptionsOnGetters =
copyFrom.ignoreInvocationExceptionsOnGetters;
+ ignoreInvocationExceptionsOnSetters =
copyFrom.ignoreInvocationExceptionsOnSetters;
+ ignoreUnknownBeanProperties =
copyFrom.ignoreUnknownBeanProperties;
+ sortProperties = copyFrom.sortProperties;
+ useEnumNames = copyFrom.useEnumNames;
+ useJavaBeanIntrospector = copyFrom.useJavaBeanIntrospector;
}
@Override /* ContextBuilder */
@@ -119,17 +171,32 @@ public class BeanContextBuilder extends ContextBuilder {
public BeanContext build() {
ContextProperties cp = getContextProperties();
cp = cp.subset(new String[]{"Context","BeanContext"});
- HashKey key = HashKey
- .create()
- .add(
- cp,
- beanClassVisibility,
- beanConstructorVisibility,
- beanMethodVisibility,
- beanFieldVisibility,
- beanDictionary
+ HashKey key = HashKey.of(
+ cp,
+ beanClassVisibility,
+ beanConstructorVisibility,
+ beanMethodVisibility,
+ beanFieldVisibility,
+ beanDictionary,
+ integer(
+ disableBeansRequireSomeProperties,
+ beanMapPutReturnsOldValue,
+ beansRequireDefaultConstructor,
+ beansRequireSerializable,
+ beansRequireSettersForGetters,
+ disableIgnoreTransientFields,
+ disableIgnoreUnknownNullBeanProperties,
+ disableIgnoreMissingSetters,
+ disableInterfaceProxies,
+ findFluentSetters,
+ ignoreInvocationExceptionsOnGetters,
+ ignoreInvocationExceptionsOnSetters,
+ ignoreUnknownBeanProperties,
+ sortProperties,
+ useEnumNames,
+ useJavaBeanIntrospector
)
- .build();
+ );
BeanContext bc = CACHE.get(key);
if (bc == null) {
bc = new BeanContext(this);
@@ -138,6 +205,13 @@ public class BeanContextBuilder extends ContextBuilder {
return bc;
}
+ private int integer(boolean...values) {
+ int n = 0;
+ for (boolean b : values)
+ n = (n << 1) | (b ? 1 : 0);
+ return n;
+ }
+
//-----------------------------------------------------------------------------------------------------------------
// Properties
//-----------------------------------------------------------------------------------------------------------------
@@ -375,14 +449,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanMapPutReturnsOldValue()}
- * <li class='jf'>{@link
BeanContext#BEAN_beanMapPutReturnsOldValue}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder beanMapPutReturnsOldValue() {
- return set(BEAN_beanMapPutReturnsOldValue);
+ return beanMapPutReturnsOldValue(true);
+ }
+
+ /**
+ * Same as {@link #beanMapPutReturnsOldValue()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder beanMapPutReturnsOldValue(boolean value) {
+ beanMapPutReturnsOldValue = value;
+ return this;
}
/**
@@ -476,14 +561,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beansRequireDefaultConstructor()}
- * <li class='jf'>{@link
BeanContext#BEAN_beansRequireDefaultConstructor}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder beansRequireDefaultConstructor() {
- return set(BEAN_beansRequireDefaultConstructor);
+ return beansRequireDefaultConstructor(true);
+ }
+
+ /**
+ * Same as {@link #beansRequireDefaultConstructor()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder beansRequireDefaultConstructor(boolean value)
{
+ beansRequireDefaultConstructor = value;
+ return this;
}
/**
@@ -524,14 +620,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beansRequireSerializable()}
- * <li class='jf'>{@link BeanContext#BEAN_beansRequireSerializable}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder beansRequireSerializable() {
- return set(BEAN_beansRequireSerializable);
+ return beansRequireSerializable(true);
+ }
+
+ /**
+ * Same as {@link #beansRequireSerializable()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder beansRequireSerializable(boolean value) {
+ beansRequireSerializable = value;
+ return this;
}
/**
@@ -568,16 +675,23 @@ public class BeanContextBuilder extends ContextBuilder {
* <li>The {@link BeanIgnore @BeanIgnore} annotation can also be
used on getters to ignore them as bean properties.
* </ul>
*
- * <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beansRequireSettersForGetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_beansRequireSettersForGetters}
- * </ul>
- *
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder beansRequireSettersForGetters() {
- return set(BEAN_beansRequireSettersForGetters);
+ return beansRequireSettersForGetters(true);
+ }
+
+ /**
+ * Same as {@link #beansRequireSettersForGetters()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder beansRequireSettersForGetters(boolean value) {
+ beansRequireSettersForGetters = value;
+ return this;
}
/**
@@ -613,14 +727,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableBeansRequireSomeProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableBeansRequireSomeProperties}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder disableBeansRequireSomeProperties() {
- return set(BEAN_disableBeansRequireSomeProperties);
+ return disableBeansRequireSomeProperties(true);
+ }
+
+ /**
+ * Same as {@link #disableBeansRequireSomeProperties()} but allows you
to explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder disableBeansRequireSomeProperties(boolean
value) {
+ disableBeansRequireSomeProperties = value;
+ return this;
}
/**
@@ -1614,14 +1739,25 @@ public class BeanContextBuilder extends ContextBuilder {
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.Bean#findFluentSetters()}
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#findFluentSetters()}
- * <li class='jf'>{@link BeanContext#BEAN_findFluentSetters}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder findFluentSetters() {
- return set(BEAN_findFluentSetters);
+ return findFluentSetters(true);
+ }
+
+ /**
+ * Same as {@link #findFluentSetters()} but allows you to explicitly
specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder findFluentSetters(boolean value) {
+ findFluentSetters = value;
+ return this;
}
/**
@@ -1653,7 +1789,7 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link Bean#findFluentSetters()}
- * <li class='jf'>{@link BeanContext#BEAN_findFluentSetters}
+ * <li class='jm'>{@link #findFluentSetters()}
* </ul>
*
* @param on The class that this applies to.
@@ -1692,14 +1828,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnGetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreInvocationExceptionsOnGetters}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder ignoreInvocationExceptionsOnGetters() {
- return set(BEAN_ignoreInvocationExceptionsOnGetters);
+ return ignoreInvocationExceptionsOnGetters(true);
+ }
+
+ /**
+ * Same as {@link #ignoreInvocationExceptionsOnGetters()} but allows
you to explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder ignoreInvocationExceptionsOnGetters(boolean
value) {
+ ignoreInvocationExceptionsOnGetters = value;
+ return this;
}
/**
@@ -1730,14 +1877,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnSetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreInvocationExceptionsOnSetters}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder ignoreInvocationExceptionsOnSetters() {
- return set(BEAN_ignoreInvocationExceptionsOnSetters);
+ return ignoreInvocationExceptionsOnSetters(true);
+ }
+
+ /**
+ * Same as {@link #ignoreInvocationExceptionsOnSetters()} but allows
you to explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder ignoreInvocationExceptionsOnSetters(boolean
value) {
+ ignoreInvocationExceptionsOnSetters = value;
+ return this;
}
/**
@@ -1772,14 +1930,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableIgnoreMissingSetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreMissingSetters}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder disableIgnoreMissingSetters() {
- return set(BEAN_disableIgnoreMissingSetters);
+ return disableIgnoreMissingSetters(true);
+ }
+
+ /**
+ * Same as {@link #disableIgnoreMissingSetters()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder disableIgnoreMissingSetters(boolean value) {
+ disableIgnoreMissingSetters = value;
+ return this;
}
/**
@@ -1811,14 +1980,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableIgnoreTransientFields()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreTransientFields}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder disableIgnoreTransientFields() {
- return set(BEAN_disableIgnoreTransientFields);
+ return disableIgnoreTransientFields(true);
+ }
+
+ /**
+ * Same as {@link #disableIgnoreTransientFields()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder disableIgnoreTransientFields(boolean value) {
+ disableIgnoreTransientFields = value;
+ return this;
}
/**
@@ -1847,14 +2027,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#ignoreUnknownBeanProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreUnknownBeanProperties}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder ignoreUnknownBeanProperties() {
- return set(BEAN_ignoreUnknownBeanProperties);
+ return ignoreUnknownBeanProperties(true);
+ }
+
+ /**
+ * Same as {@link #ignoreUnknownBeanProperties()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder ignoreUnknownBeanProperties(boolean value) {
+ ignoreUnknownBeanProperties = value;
+ return this;
}
/**
@@ -1883,14 +2074,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableIgnoreUnknownNullBeanProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreUnknownNullBeanProperties}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder disableIgnoreUnknownNullBeanProperties() {
- return set(BEAN_disableIgnoreUnknownNullBeanProperties);
+ return disableIgnoreUnknownNullBeanProperties(true);
+ }
+
+ /**
+ * Same as {@link #disableIgnoreUnknownNullBeanProperties()} but allows
you to explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder
disableIgnoreUnknownNullBeanProperties(boolean value) {
+ disableIgnoreUnknownNullBeanProperties = value;
+ return this;
}
/**
@@ -2428,15 +2630,24 @@ public class BeanContextBuilder extends ContextBuilder {
* <li>The {@link Bean#sort() @Bean.sort()} annotation can also be
used to sort properties on just a single class.
* </ul>
*
- * <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
- * </ul>
- *
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder sortProperties() {
- return set(BEAN_sortProperties);
+ sortProperties = true;
+ return sortProperties(true);
+ }
+
+ /**
+ * Same as {@link #sortProperties()} but allows you to explicitly
specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder sortProperties(boolean value) {
+ sortProperties = value;
+ return this;
}
/**
@@ -2466,7 +2677,7 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link Bean#sort() Bean(sort)}
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
+ * <li class='jm'>{@link #sortProperties()}
* </ul>
*
* @param on The bean classes to sort properties on.
@@ -2847,15 +3058,23 @@ public class BeanContextBuilder extends ContextBuilder {
* }
* </p>
*
- * <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_useEnumNames}
- * </ul>
- *
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder useEnumNames() {
- return set(BEAN_useEnumNames);
+ return useEnumNames(true);
+ }
+
+ /**
+ * Same as {@link #useEnumNames()} but allows you to explicitly specify
the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder useEnumNames(boolean value) {
+ useEnumNames = value;
+ return this;
}
/**
@@ -2868,14 +3087,25 @@ public class BeanContextBuilder extends ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableInterfaceProxies()}
- * <li class='jf'>{@link BeanContext#BEAN_disableInterfaceProxies}
* </ul>
*
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder disableInterfaceProxies() {
- return set(BEAN_disableInterfaceProxies);
+ return disableInterfaceProxies(true);
+ }
+
+ /**
+ * Same as {@link #disableInterfaceProxies()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder disableInterfaceProxies(boolean value) {
+ disableInterfaceProxies = value;
+ return this;
}
/**
@@ -2894,15 +3124,23 @@ public class BeanContextBuilder extends ContextBuilder {
* .build();
* </p>
*
- * <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_useJavaBeanIntrospector}
- * </ul>
- *
* @return This object (for method chaining).
*/
@FluentSetter
public BeanContextBuilder useJavaBeanIntrospector() {
- return set(BEAN_useJavaBeanIntrospector);
+ return useJavaBeanIntrospector(true);
+ }
+
+ /**
+ * Same as {@link #useJavaBeanIntrospector()} but allows you to
explicitly specify the value.
+ *
+ * @param value The value for this setting.
+ * @return This object.
+ */
+ @FluentSetter
+ public BeanContextBuilder useJavaBeanIntrospector(boolean value) {
+ useJavaBeanIntrospector = value;
+ return this;
}
// <FluentSetters>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
index 154cf55..e6c2842 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContextableBuilder.java
@@ -369,7 +369,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beanMapPutReturnsOldValue()}
- * <li class='jf'>{@link
BeanContext#BEAN_beanMapPutReturnsOldValue}
+ * <li class='jm'>{@link
BeanContextBuilder#beanMapPutReturnsOldValue()}
* </ul>
*
* @return This object (for method chaining).
@@ -471,7 +471,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beansRequireDefaultConstructor()}
- * <li class='jf'>{@link
BeanContext#BEAN_beansRequireDefaultConstructor}
+ * <li class='jm'>{@link
BeanContextBuilder#beansRequireDefaultConstructor()}
* </ul>
*
* @return This object (for method chaining).
@@ -520,7 +520,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beansRequireSerializable()}
- * <li class='jf'>{@link BeanContext#BEAN_beansRequireSerializable}
+ * <li class='jm'>{@link
BeanContextBuilder#beansRequireSerializable()}
* </ul>
*
* @return This object (for method chaining).
@@ -567,7 +567,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#beansRequireSettersForGetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_beansRequireSettersForGetters}
+ * <li class='jm'>{@link
BeanContextBuilder#beansRequireSettersForGetters()}
* </ul>
*
* @return This object (for method chaining).
@@ -611,7 +611,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableBeansRequireSomeProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableBeansRequireSomeProperties}
+ * <li class='jm'>{@link
BeanContextBuilder#disableBeansRequireSomeProperties()}
* </ul>
*
* @return This object (for method chaining).
@@ -1597,7 +1597,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.Bean#findFluentSetters()}
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#findFluentSetters()}
- * <li class='jf'>{@link BeanContext#BEAN_findFluentSetters}
+ * <li class='jm'>{@link BeanContextBuilder#findFluentSetters()}
* </ul>
*
* @return This object (for method chaining).
@@ -1637,7 +1637,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link Bean#findFluentSetters()}
- * <li class='jf'>{@link BeanContext#BEAN_findFluentSetters}
+ * <li class='jm'>{@link BeanContextBuilder#findFluentSetters()}
* </ul>
*
* @param on The class that this applies to.
@@ -1677,7 +1677,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnGetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreInvocationExceptionsOnGetters}
+ * <li class='jm'>{@link
BeanContextBuilder#ignoreInvocationExceptionsOnGetters()}
* </ul>
*
* @return This object (for method chaining).
@@ -1716,7 +1716,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#ignoreInvocationExceptionsOnSetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreInvocationExceptionsOnSetters}
+ * <li class='jm'>{@link
BeanContextBuilder#ignoreInvocationExceptionsOnSetters()}
* </ul>
*
* @return This object (for method chaining).
@@ -1759,7 +1759,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableIgnoreMissingSetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreMissingSetters}
+ * <li class='jm'>{@link
BeanContextBuilder#disableIgnoreMissingSetters()}
* </ul>
*
* @return This object (for method chaining).
@@ -1799,7 +1799,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableIgnoreTransientFields()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreTransientFields}
+ * <li class='jm'>{@link
BeanContextBuilder#disableIgnoreTransientFields()}
* </ul>
*
* @return This object (for method chaining).
@@ -1836,7 +1836,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#ignoreUnknownBeanProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreUnknownBeanProperties}
+ * <li class='jm'>{@link
BeanContextBuilder#ignoreUnknownBeanProperties()}
* </ul>
*
* @return This object (for method chaining).
@@ -1873,7 +1873,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableIgnoreUnknownNullBeanProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreUnknownNullBeanProperties}
+ * <li class='jm'>{@link
BeanContextBuilder#disableIgnoreUnknownNullBeanProperties()}
* </ul>
*
* @return This object (for method chaining).
@@ -2414,7 +2414,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
* </ul>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
+ * <li class='jm'>{@link BeanContextBuilder#sortProperties()}
* </ul>
*
* @return This object (for method chaining).
@@ -2452,7 +2452,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link Bean#sort() Bean(sort)}
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
+ * <li class='jm'>{@link BeanContextBuilder#sortProperties()}
* </ul>
*
* @param on The bean classes to sort properties on.
@@ -2839,7 +2839,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
* </p>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_useEnumNames}
+ * <li class='jm'>{@link BeanContextBuilder#useEnumNames()}
* </ul>
*
* @return This object (for method chaining).
@@ -2860,7 +2860,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#disableInterfaceProxies()}
- * <li class='jf'>{@link BeanContext#BEAN_disableInterfaceProxies}
+ * <li class='jm'>{@link
BeanContextBuilder#disableInterfaceProxies()}
* </ul>
*
* @return This object (for method chaining).
@@ -2888,7 +2888,7 @@ public abstract class BeanContextableBuilder extends
ContextBuilder {
* </p>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_useJavaBeanIntrospector}
+ * <li class='jmf'>{@link
BeanContextBuilder#useJavaBeanIntrospector()}
* </ul>
*
* @return This object (for method chaining).
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilterBuilder.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilterBuilder.java
index 36e5e6f..ff9c198 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilterBuilder.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanFilterBuilder.java
@@ -294,7 +294,7 @@ public class BeanFilterBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link Bean#sort()}
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
+ * <li class='jf'>{@link BeanContextBuilder#sortProperties()}
* </ul>
*
* @param value
@@ -315,7 +315,7 @@ public class BeanFilterBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link Bean#sort()}
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
+ * <li class='jf'>{@link BeanContextBuilder#sortProperties()}
* </ul>
*
* @return This object (for method chaining).
@@ -352,7 +352,7 @@ public class BeanFilterBuilder {
*
* <ul class='seealso'>
* <li class='ja'>{@link Bean#findFluentSetters()}
- * <li class='jf'>{@link BeanContext#BEAN_findFluentSetters}
+ * <li class='jm'>{@link BeanContextBuilder#findFluentSetters()}
* </ul>
*
* @return This object (for method chaining).
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 e29386f..a25f948 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
@@ -1294,7 +1294,7 @@ public class BeanSession extends Session {
/**
* Configuration property: BeanMap.put() returns old property value.
*
- * @see BeanContext#BEAN_beanMapPutReturnsOldValue
+ * @see BeanContextBuilder#beanMapPutReturnsOldValue()
* @return
* <jk>true</jk> if the {@link BeanMap#put(String,Object)
BeanMap.put()} method will return old property values.
* <br>Otherwise, it returns <jk>null</jk>.
@@ -1317,7 +1317,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Beans require no-arg constructors.
*
- * @see BeanContext#BEAN_beansRequireDefaultConstructor
+ * @see BeanContextBuilder#beansRequireDefaultConstructor()
* @return
* <jk>true</jk> if a Java class must implement a default no-arg
constructor to be considered a bean.
* <br>Otherwise, the bean will be serialized as a string using
the {@link Object#toString()} method.
@@ -1329,7 +1329,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Beans require Serializable interface.
*
- * @see BeanContext#BEAN_beansRequireSerializable
+ * @see BeanContextBuilder#beansRequireSerializable()
* @return
* <jk>true</jk> if a Java class must implement the {@link
Serializable} interface to be considered a bean.
* <br>Otherwise, the bean will be serialized as a string using
the {@link Object#toString()} method.
@@ -1341,7 +1341,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Beans require setters for getters.
*
- * @see BeanContext#BEAN_beansRequireSettersForGetters
+ * @see BeanContextBuilder#beansRequireSettersForGetters()
* @return
* <jk>true</jk> if only getters that have equivalent setters will
be considered as properties on a bean.
* <br>Otherwise, they are ignored.
@@ -1353,7 +1353,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Beans require at least one property.
*
- * @see BeanContext#BEAN_disableBeansRequireSomeProperties
+ * @see BeanContextBuilder#disableBeansRequireSomeProperties()
* @return
* <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.
@@ -1379,7 +1379,7 @@ public class BeanSession extends Session {
* <h5 class='section'>Description:</h5>
* <p>
*
- * @see BeanContext#BEAN_findFluentSetters
+ * @see BeanContextBuilder#findFluentSetters()
* @return
* <jk>true</jk> if fluent setters are detected on beans.
*/
@@ -1390,7 +1390,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Ignore invocation errors on getters.
*
- * @see BeanContext#BEAN_ignoreInvocationExceptionsOnGetters
+ * @see BeanContextBuilder#ignoreInvocationExceptionsOnGetters()
* @return
* <jk>true</jk> if errors thrown when calling bean getter methods
are silently ignored.
*/
@@ -1401,7 +1401,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Ignore invocation errors on setters.
*
- * @see BeanContext#BEAN_ignoreInvocationExceptionsOnSetters
+ * @see BeanContextBuilder#ignoreInvocationExceptionsOnSetters()
* @return
* <jk>true</jk> if errors thrown when calling bean setter methods
are silently ignored.
*/
@@ -1412,7 +1412,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Silently ignore missing setters.
*
- * @see BeanContext#BEAN_disableIgnoreMissingSetters
+ * @see BeanContextBuilder#disableIgnoreMissingSetters()
* @return
* <jk>true</jk> if trying to set a value on a bean property
without a setter should throw a {@link BeanRuntimeException}.
*/
@@ -1423,7 +1423,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Ignore unknown properties.
*
- * @see BeanContext#BEAN_ignoreUnknownBeanProperties
+ * @see BeanContextBuilder#ignoreUnknownBeanProperties()
* @return
* <jk>true</jk> if trying to set a value on a non-existent bean
property is silently ignored.
* <br>Otherwise, a {@code RuntimeException} is thrown.
@@ -1435,7 +1435,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Ignore unknown properties with null values.
*
- * @see BeanContext#BEAN_disableIgnoreUnknownNullBeanProperties
+ * @see BeanContextBuilder#disableIgnoreUnknownNullBeanProperties()
* @return
* <jk>true</jk> if trying to set a <jk>null</jk> value on a
non-existent bean property should not throw a {@link BeanRuntimeException}.
*/
@@ -1490,7 +1490,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Sort bean properties.
*
- * @see BeanContext#BEAN_sortProperties
+ * @see BeanContextBuilder#sortProperties()
* @return
* <jk>true</jk> if all bean properties will be serialized and
access in alphabetical order.
*/
@@ -1548,7 +1548,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Use enum names.
*
- * @see BeanContext#BEAN_useEnumNames
+ * @see BeanContextBuilder#useEnumNames()
* @return
* <jk>true</jk> if enums are always serialized by name, not using
{@link Object#toString()}.
*/
@@ -1559,7 +1559,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Use interface proxies.
*
- * @see BeanContext#BEAN_disableInterfaceProxies
+ * @see BeanContextBuilder#disableInterfaceProxies()
* @return
* <jk>true</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.
@@ -1571,7 +1571,7 @@ public class BeanSession extends Session {
/**
* Configuration property: Use Java Introspector.
*
- * @see BeanContext#BEAN_useJavaBeanIntrospector
+ * @see BeanContextBuilder#useJavaBeanIntrospector()
* @return
* <jk>true</jk> if the built-in Java bean introspector should be
used for bean introspection.
*/
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
index 1241cbf..7a0309a 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Bean.java
@@ -52,10 +52,10 @@ public @interface Bean {
* The list of classes that make up the bean dictionary for all
properties in this class and all subclasses.
*
* <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.Beanp#dictionary()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#dictionary()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#dictionary_replace()}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanDictionary(Class...)}
+ * <li class='ja'>{@link Beanp#dictionary()}
+ * <li class='ja'>{@link BeanConfig#dictionary()}
+ * <li class='ja'>{@link BeanConfig#dictionary_replace()}
+ * <li class='jm'>{@link
BeanContextBuilder#beanDictionary(Class...)}
* </ul>
*/
Class<?>[] dictionary() default {};
@@ -149,9 +149,8 @@ public @interface Bean {
* </ul>
*
* <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#findFluentSetters()}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#findFluentSetters()}
- * <li class='jf'>{@link BeanContext#BEAN_findFluentSetters}
+ * <li class='ja'>{@link BeanConfig#findFluentSetters()}
+ * <li class='jm'>{@link BeanContextBuilder#findFluentSetters()}
* </ul>
*/
boolean findFluentSetters() default false;
@@ -373,7 +372,7 @@ public @interface Bean {
* </p>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
+ * <li class='jm'>{@link BeanContextBuilder#sortProperties()}
* </ul>
*/
boolean sort() default false;
@@ -446,9 +445,8 @@ public @interface Bean {
* </p>
*
* <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#typePropertyName()}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#typePropertyName(String)}
- * <li class='jf'>{@link BeanContext#BEAN_typePropertyName}
+ * <li class='ja'>{@link BeanConfig#typePropertyName()}
+ * <li class='jm'>{@link
BeanContextBuilder#typePropertyName(String)}
* </ul>
*/
String typePropertyName() default "";
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 841b0e8..914589f 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
@@ -76,7 +76,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanClassVisibility(Visibility)}
+ * <li class='jm'>{@link
BeanContextBuilder#beanClassVisibility(Visibility)}
* </ul>
*/
String beanClassVisibility() default "";
@@ -106,7 +106,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanConstructorVisibility(Visibility)}
+ * <li class='jm'>{@link
BeanContextBuilder#beanConstructorVisibility(Visibility)}
* </ul>
*/
String beanConstructorVisibility() default "";
@@ -136,7 +136,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanFieldVisibility(Visibility)}
+ * <li class='jm'>{@link
BeanContextBuilder#beanFieldVisibility(Visibility)}
* </ul>
*/
String beanFieldVisibility() default "";
@@ -161,8 +161,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanMapPutReturnsOldValue()}
- * <li class='jf'>{@link
BeanContext#BEAN_beanMapPutReturnsOldValue}
+ * <li class='jm'>{@link
BeanContextBuilder#beanMapPutReturnsOldValue()}
* </ul>
*/
String beanMapPutReturnsOldValue() default "";
@@ -192,7 +191,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanMethodVisibility(Visibility)}
+ * <li class='jm'>{@link
BeanContextBuilder#beanMethodVisibility(Visibility)}
* </ul>
*/
String beanMethodVisibility() default "";
@@ -218,8 +217,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beansRequireDefaultConstructor()}
- * <li class='jf'>{@link
BeanContext#BEAN_beansRequireDefaultConstructor}
+ * <li class='jm'>{@link
BeanContextBuilder#beansRequireDefaultConstructor()}
* </ul>
*/
String beansRequireDefaultConstructor() default "";
@@ -245,8 +243,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beansRequireSerializable()}
- * <li class='jf'>{@link BeanContext#BEAN_beansRequireSerializable}
+ * <li class='jm'>{@link
BeanContextBuilder#beansRequireSerializable()}
* </ul>
*/
String beansRequireSerializable() default "";
@@ -270,8 +267,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beansRequireSettersForGetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_beansRequireSettersForGetters}
+ * <li class='jm'>{@link
BeanContextBuilder#beansRequireSettersForGetters()}
* </ul>
*/
String beansRequireSettersForGetters() default "";
@@ -295,8 +291,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableBeansRequireSomeProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableBeansRequireSomeProperties}
+ * <li class='jm'>{@link
BeanContextBuilder#disableBeansRequireSomeProperties()}
* </ul>
*/
String disableBeansRequireSomeProperties() default "";
@@ -316,9 +311,8 @@ public @interface BeanConfig {
* </ul>
* <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.Bean#typePropertyName()}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#typePropertyName(String)}
- * <li class='jf'>{@link BeanContext#BEAN_typePropertyName}
+ * <li class='ja'>{@link Bean#typePropertyName()}
+ * <li class='jm'>{@link
BeanContextBuilder#typePropertyName(String)}
* </ul>
*/
String typePropertyName() default "";
@@ -356,8 +350,8 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link org.apache.juneau.ContextBuilder#debug()}
- * <li class='jm'>{@link
org.apache.juneau.SessionArgs#debug(Boolean)}
+ * <li class='jm'>{@link ContextBuilder#debug()}
+ * <li class='jm'>{@link SessionArgs#debug(Boolean)}
* <li class='jf'>{@link Context#CONTEXT_debug}
* </ul>
*/
@@ -380,10 +374,10 @@ public @interface BeanConfig {
* This setting tells the parsers which classes to look for when
resolving <js>"_type"</js> attributes.
*
* <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.Bean#dictionary()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.Beanp#dictionary()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#dictionary_replace()}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanDictionary(Class...)}
+ * <li class='ja'>{@link Bean#dictionary()}
+ * <li class='ja'>{@link Beanp#dictionary()}
+ * <li class='ja'>{@link BeanConfig#dictionary_replace()}
+ * <li class='jm'>{@link
BeanContextBuilder#beanDictionary(Class...)}
* <li class='link'>{@doc BeanDictionaries}
* </ul>
*/
@@ -396,10 +390,10 @@ public @interface BeanConfig {
* Same as {@link #dictionary()} but replaces any existing value.
*
* <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.Bean#dictionary()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.Beanp#dictionary()}
- * <li class='ja'>{@link
org.apache.juneau.annotation.BeanConfig#dictionary()}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#beanDictionary(Class...)}
+ * <li class='ja'>{@link Bean#dictionary()}
+ * <li class='ja'>{@link Beanp#dictionary()}
+ * <li class='ja'>{@link BeanConfig#dictionary()}
+ * <li class='jm'>{@link
BeanContextBuilder#beanDictionary(Class...)}
* </ul>
*/
Class<?>[] dictionary_replace() default {};
@@ -431,9 +425,8 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='ja'>{@link
org.apache.juneau.annotation.Bean#findFluentSetters()}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#findFluentSetters()}
- * <li class='jf'>{@link BeanContext#BEAN_findFluentSetters}
+ * <li class='ja'>{@link Bean#findFluentSetters()}
+ * <li class='jm'>{@link BeanContextBuilder#findFluentSetters()}
* </ul>
*/
String findFluentSetters() default "";
@@ -457,8 +450,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnGetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreInvocationExceptionsOnGetters}
+ * <li class='jm'>{@link
BeanContextBuilder#ignoreInvocationExceptionsOnGetters()}
* </ul>
*/
String ignoreInvocationExceptionsOnGetters() default "";
@@ -482,8 +474,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#ignoreInvocationExceptionsOnSetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreInvocationExceptionsOnSetters}
+ * <li class='jm'>{@link
BeanContextBuilder#ignoreInvocationExceptionsOnSetters()}
* </ul>
*/
String ignoreInvocationExceptionsOnSetters() default "";
@@ -507,8 +498,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableIgnoreMissingSetters()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreMissingSetters}
+ * <li class='jm'>{@link
BeanContextBuilder#disableIgnoreMissingSetters()}
* </ul>
*/
String disableIgnoreMissingSetters() default "";
@@ -531,8 +521,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableIgnoreTransientFields()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreTransientFields}
+ * <li class='jm'>{@link
BeanContextBuilder#disableIgnoreTransientFields()}
* </ul>
*/
String disableIgnoreTransientFields() default "";
@@ -556,8 +545,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#ignoreUnknownBeanProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_ignoreUnknownBeanProperties}
+ * <li class='jm'>{@link
BeanContextBuilder#ignoreUnknownBeanProperties()}
* </ul>
*/
String ignoreUnknownBeanProperties() default "";
@@ -581,8 +569,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableIgnoreUnknownNullBeanProperties()}
- * <li class='jf'>{@link
BeanContext#BEAN_disableIgnoreUnknownNullBeanProperties}
+ * <li class='jm'>{@link
BeanContextBuilder#disableIgnoreUnknownNullBeanProperties()}
* </ul>
*/
String disableIgnoreUnknownNullBeanProperties() default "";
@@ -635,9 +622,8 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#locale(Locale)}
- * <li class='jm'>{@link
org.apache.juneau.BeanSessionArgs#locale(Locale)}
- * <li class='jf'>{@link BeanContext#BEAN_locale}
+ * <li class='jm'>{@link BeanSessionArgs#locale(Locale)}
+ * <li class='jm'>{@link BeanContextBuilder#locale(Locale)}
* </ul>
*/
String locale() default "";
@@ -654,9 +640,8 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#mediaType(MediaType)}
- * <li class='jm'>{@link
org.apache.juneau.BeanSessionArgs#mediaType(MediaType)}
- * <li class='jf'>{@link BeanContext#BEAN_mediaType}
+ * <li class='jm'>{@link BeanSessionArgs#mediaType(MediaType)}
+ * <li class='jm'>{@link BeanContextBuilder#mediaType(MediaType)}
* </ul>
*/
String mediaType() default "";
@@ -674,10 +659,9 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='ja'>{@link org.apache.juneau.annotation.BeanIgnore}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#notBeanClasses(Object...)}
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#notBeanClasses_replace(Object...)}
- * <li class='jf'>{@link BeanContext#BEAN_notBeanClasses}
+ * <li class='ja'>{@link BeanIgnore}
+ * <li class='jm'>{@link
BeanContextBuilder#notBeanClasses(Object...)}
+ * <li class='jm'>{@link
BeanContextBuilder#notBeanClasses_replace(Object...)}
* </ul>
*/
Class<?>[] notBeanClasses() default {};
@@ -689,7 +673,7 @@ public @interface BeanConfig {
* Same as {@link #notBeanClasses()} but replaces any existing value.
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_notBeanClasses}
+ * <li class='jm'>{@link
BeanContextBuilder#notBeanClasses(Object...)}
* </ul>
*/
Class<?>[] notBeanClasses_replace() default {};
@@ -724,7 +708,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_notBeanPackages}
+ * <li class='jm'>{@link
BeanContextBuilder#notBeanPackages(Object...)}
* </ul>
*/
String[] notBeanPackages() default {};
@@ -736,7 +720,7 @@ public @interface BeanConfig {
* Same as {@link #notBeanPackages()} but replaces any existing value.
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_notBeanPackages}
+ * <li class='jm'>{@link
BeanContextBuilder#notBeanPackages(Object...)}
* </ul>
*/
String[] notBeanPackages_replace() default {};
@@ -756,7 +740,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_propertyNamer}
+ * <li class='jm'>{@link BeanContextBuilder#propertyNamer(Class)}
* </ul>
*/
Class<? extends PropertyNamer> propertyNamer() default
PropertyNamer.Null.class;
@@ -787,7 +771,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_sortProperties}
+ * <li class='jm'>{@link BeanContextBuilder#sortProperties()}
* </ul>
*/
String sortProperties() default "";
@@ -808,7 +792,7 @@ public @interface BeanConfig {
* {@link PojoSwap#forMediaTypes()} or {@link Swap#mediaTypes()
@Swap(mediaTypes)} are used to come up with the best match.
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_swaps}
+ * <li class='jm'>{@link BeanContextBuilder#swaps}
* <li class='link'>{@doc PojoSwaps}
* <li class='link'>{@doc PerMediaTypePojoSwaps}
* <li class='link'>{@doc OneWayPojoSwaps}
@@ -826,7 +810,7 @@ public @interface BeanConfig {
* Same as {@link #swaps()} but replaces any existing value.
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_swaps}
+ * <li class='jm'>{@link BeanContextBuilder#swaps(Object...)}
* </ul>
*/
Class<?>[] swaps_replace() default {};
@@ -843,9 +827,8 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#timeZone(TimeZone)}
- * <li class='jm'>{@link
org.apache.juneau.BeanSessionArgs#timeZone(TimeZone)}
- * <li class='jf'>{@link BeanContext#BEAN_timeZone}
+ * <li class='jm'>{@link BeanSessionArgs#timeZone(TimeZone)}
+ * <li class='jm'>{@link BeanContextBuilder#timeZone(TimeZone)}
* </ul>
*/
String timeZone() default "";
@@ -868,7 +851,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_useEnumNames}
+ * <li class='jm'>{@link BeanContextBuilder#useEnumNames()}
* </ul>
*/
String useEnumNames() default "";
@@ -893,8 +876,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jm'>{@link
org.apache.juneau.BeanContextBuilder#disableInterfaceProxies()}
- * <li class='jf'>{@link BeanContext#BEAN_disableInterfaceProxies}
+ * <li class='jm'>{@link
BeanContextBuilder#disableInterfaceProxies()}
* </ul>
*/
String disableInterfaceProxies() default "";
@@ -918,7 +900,7 @@ public @interface BeanConfig {
* </ul>
*
* <ul class='seealso'>
- * <li class='jf'>{@link BeanContext#BEAN_useJavaBeanIntrospector}
+ * <li class='jm'>{@link
BeanContextBuilder#useJavaBeanIntrospector()}
* </ul>
*/
String useJavaBeanIntrospector() default "";
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 80ba3db..b88c358 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
@@ -51,20 +51,20 @@ public class BeanConfigAnnotation {
visibility(a.beanMethodVisibility(),
"beanMethodVisibility").ifPresent(x -> b.beanMethodVisibility(x));
classes(a.dictionary()).ifPresent(x ->
b.beanDictionary(x));
classes(a.dictionary_replace()).ifPresent(x -> {
b.beanDictionary().clear(); b.beanDictionary(x);});
- bool(a.beanMapPutReturnsOldValue()).ifPresent(x ->
b.set(BEAN_beanMapPutReturnsOldValue, x));
- bool(a.beansRequireDefaultConstructor()).ifPresent(x ->
b.set(BEAN_beansRequireDefaultConstructor, x));
- bool(a.beansRequireSerializable()).ifPresent(x ->
b.set(BEAN_beansRequireSerializable, x));
- bool(a.beansRequireSettersForGetters()).ifPresent(x ->
b.set(BEAN_beansRequireSettersForGetters, x));
- bool(a.disableBeansRequireSomeProperties()).ifPresent(x
-> b.set(BEAN_disableBeansRequireSomeProperties, x));
+ bool(a.beanMapPutReturnsOldValue()).ifPresent(x ->
b.beanMapPutReturnsOldValue(x));
+ bool(a.beansRequireDefaultConstructor()).ifPresent(x ->
b.beansRequireDefaultConstructor(x));
+ bool(a.beansRequireSerializable()).ifPresent(x ->
b.beansRequireSerializable(x));
+ bool(a.beansRequireSettersForGetters()).ifPresent(x ->
b.beansRequireSettersForGetters(x));
+ bool(a.disableBeansRequireSomeProperties()).ifPresent(x
-> b.disableBeansRequireSomeProperties(x));
string(a.typePropertyName()).ifPresent(x ->
b.set(BEAN_typePropertyName, x));
bool(a.debug()).ifPresent(x -> b.set(CONTEXT_debug, x));
- bool(a.findFluentSetters()).ifPresent(x ->
b.set(BEAN_findFluentSetters, x));
-
bool(a.ignoreInvocationExceptionsOnGetters()).ifPresent(x ->
b.set(BEAN_ignoreInvocationExceptionsOnGetters, x));
-
bool(a.ignoreInvocationExceptionsOnSetters()).ifPresent(x ->
b.set(BEAN_ignoreInvocationExceptionsOnSetters, x));
- bool(a.disableIgnoreMissingSetters()).ifPresent(x ->
b.set(BEAN_disableIgnoreMissingSetters, x));
- bool(a.disableIgnoreTransientFields()).ifPresent(x ->
b.set(BEAN_disableIgnoreTransientFields, x));
- bool(a.ignoreUnknownBeanProperties()).ifPresent(x ->
b.set(BEAN_ignoreUnknownBeanProperties, x));
-
bool(a.disableIgnoreUnknownNullBeanProperties()).ifPresent(x ->
b.set(BEAN_disableIgnoreUnknownNullBeanProperties, x));
+ bool(a.findFluentSetters()).ifPresent(x ->
b.findFluentSetters(x));
+
bool(a.ignoreInvocationExceptionsOnGetters()).ifPresent(x ->
b.ignoreInvocationExceptionsOnGetters(x));
+
bool(a.ignoreInvocationExceptionsOnSetters()).ifPresent(x ->
b.ignoreInvocationExceptionsOnSetters(x));
+ bool(a.disableIgnoreMissingSetters()).ifPresent(x ->
b.disableIgnoreMissingSetters(x));
+ bool(a.disableIgnoreTransientFields()).ifPresent(x ->
b.disableIgnoreTransientFields(x));
+ bool(a.ignoreUnknownBeanProperties()).ifPresent(x ->
b.ignoreUnknownBeanProperties(x));
+
bool(a.disableIgnoreUnknownNullBeanProperties()).ifPresent(x ->
b.disableIgnoreUnknownNullBeanProperties(x));
asList(a.interfaces()).stream().map(x ->
BeanAnnotation.create(x).interfaceClass(x).build()).forEach(x ->
b.annotations(x));
string(a.locale()).map(Locale::forLanguageTag).ifPresent(x ->
b.set(BEAN_locale, x));
string(a.mediaType()).map(MediaType::of).ifPresent(x ->
b.set(BEAN_mediaType, x));
@@ -73,13 +73,13 @@ public class BeanConfigAnnotation {
b.addTo(BEAN_notBeanPackages,
stringList(a.notBeanPackages()));
b.setIfNotEmpty(BEAN_notBeanPackages,
stringList(a.notBeanPackages_replace()));
type(a.propertyNamer()).ifPresent(x ->
b.set(BEAN_propertyNamer, x));
- bool(a.sortProperties()).ifPresent(x ->
b.set(BEAN_sortProperties, x));
+ bool(a.sortProperties()).ifPresent(x ->
b.sortProperties(x));
b.prependTo(BEAN_swaps, a.swaps());
b.setIfNotEmpty(BEAN_swaps, a.swaps_replace());
string(a.timeZone()).map(TimeZone::getTimeZone).ifPresent(x ->
b.set(BEAN_timeZone, x));
- bool(a.useEnumNames()).ifPresent(x ->
b.set(BEAN_useEnumNames, x));
- bool(a.disableInterfaceProxies()).ifPresent(x ->
b.set(BEAN_disableInterfaceProxies, x));
- bool(a.useJavaBeanIntrospector()).ifPresent(x ->
b.set(BEAN_useJavaBeanIntrospector, x));
+ bool(a.useEnumNames()).ifPresent(x ->
b.useEnumNames(x));
+ bool(a.disableInterfaceProxies()).ifPresent(x ->
b.disableInterfaceProxies(x));
+ bool(a.useJavaBeanIntrospector()).ifPresent(x ->
b.useJavaBeanIntrospector(x));
}
}
}
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
index 9ccd524..e871e51 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/annotation/Beanp.java
@@ -201,7 +201,7 @@ public @interface Beanp {
*
* <div class='info'>
* Note that if you're not interested in these additional
properties, you can also use the
- * {@link BeanContext#BEAN_ignoreUnknownBeanProperties} setting to
ignore values that don't fit into existing
+ * {@link BeanContextBuilder#ignoreUnknownBeanProperties()}
setting to ignore values that don't fit into existing
* properties.
* </div>
* <div class='info'>
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
index a04f1d2..becc0db 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserListener.java
@@ -30,7 +30,7 @@ public class ParserListener {
* Gets called when an unknown bean property is detected in a document.
*
* <p>
- * This method only gets called if {@link
BeanContext#BEAN_ignoreUnknownBeanProperties} setting is <jk>true</jk>.
+ * This method only gets called if {@link
BeanContextBuilder#ignoreUnknownBeanProperties()} setting is <jk>true</jk>.
* Otherwise, the parser will throw a {@link ParseException}.
*
* @param <T> The class type of the bean.
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 25ffcc0..6867bc3 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
@@ -312,7 +312,7 @@ public abstract class ParserSession extends BeanSession {
* @param beanMap The bean that doesn't have the expected property.
* @param value The parsed value.
* @throws ParseException
- * Automatically thrown if {@link
BeanContext#BEAN_ignoreUnknownBeanProperties} setting on this parser is
+ * Automatically thrown if {@link
BeanContextBuilder#ignoreUnknownBeanProperties()} setting on this parser is
* <jk>false</jk>
* @param <T> The class type of the bean map that doesn't have the
expected property.
*/
diff --git
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/HashKey.java
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/HashKey.java
index f43d367..49e678b 100644
---
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/HashKey.java
+++
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/utils/HashKey.java
@@ -26,41 +26,11 @@ public class HashKey {
/**
* Static creator.
*
- * @return A new builder.
+ * @param array The contents of the key.
+ * @return A new bean.
*/
- public static Builder create() {
- return new Builder();
- }
-
-
//-----------------------------------------------------------------------------------------------------------------
- // Builder
-
//-----------------------------------------------------------------------------------------------------------------
-
- /**
- * The builder class for this object.
- */
- public static class Builder {
- List<Object> list = new ArrayList<>();
-
- /**
- * Adds a list of objects to this builder.
- *
- * @param values The values to add to this list.
- * @return This object.
- */
- public Builder add(Object...values) {
- Collections.addAll(list, values);
- return this;
- }
-
- /**
- * Creates the key.
- *
- * @return The key.
- */
- public HashKey build() {
- return new HashKey(this);
- }
+ public static HashKey of(Object...array) {
+ return new HashKey(array);
}
//-----------------------------------------------------------------------------------------------------------------
@@ -70,9 +40,9 @@ public class HashKey {
private final int hashCode;
private final Object[] array;
- HashKey(Builder builder) {
- hashCode = builder.list.hashCode();
- array = builder.list.toArray(new Object[builder.list.size()]);
+ HashKey(Object[] array) {
+ this.array = array;
+ this.hashCode = Arrays.hashCode(array);
}
@Override