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 2f21a89  Context API refactoring.
2f21a89 is described below

commit 2f21a89a94a60bff488cf5e6a4d3346283a2fa47
Author: JamesBognar <james.bog...@salesforce.com>
AuthorDate: Sun Sep 26 10:47:35 2021 -0400

    Context API refactoring.
---
 .../org/apache/juneau/jena/RdfParserBuilder.java   |  2 +-
 .../apache/juneau/jena/RdfSerializerBuilder.java   |  2 +-
 .../main/java/org/apache/juneau/BeanContext.java   | 55 +++++++---------------
 .../java/org/apache/juneau/BeanContextBuilder.java | 52 ++++++++++++++------
 .../org/apache/juneau/BeanContextableBuilder.java  | 27 ++---------
 .../main/java/org/apache/juneau/BeanSession.java   |  2 +-
 .../org/apache/juneau/BeanTraverseBuilder.java     |  2 +-
 .../java/org/apache/juneau/ContextBuilder.java     |  2 +-
 .../org/apache/juneau/annotation/BeanConfig.java   |  5 +-
 .../juneau/annotation/BeanConfigAnnotation.java    |  4 +-
 .../org/apache/juneau/csv/CsvParserBuilder.java    |  2 +-
 .../apache/juneau/csv/CsvSerializerBuilder.java    |  2 +-
 .../juneau/html/HtmlDocSerializerBuilder.java      |  2 +-
 .../org/apache/juneau/html/HtmlParserBuilder.java  |  2 +-
 .../juneau/html/HtmlSchemaSerializerBuilder.java   |  2 +-
 .../apache/juneau/html/HtmlSerializerBuilder.java  |  2 +-
 .../html/HtmlStrippedDocSerializerBuilder.java     |  2 +-
 .../org/apache/juneau/jso/JsoParserBuilder.java    |  2 +-
 .../apache/juneau/jso/JsoSerializerBuilder.java    |  2 +-
 .../org/apache/juneau/json/JsonParserBuilder.java  |  2 +-
 .../juneau/json/JsonSchemaSerializerBuilder.java   |  2 +-
 .../apache/juneau/json/JsonSerializerBuilder.java  |  2 +-
 .../jsonschema/JsonSchemaGeneratorBuilder.java     |  2 +-
 .../juneau/msgpack/MsgPackParserBuilder.java       |  2 +-
 .../juneau/msgpack/MsgPackSerializerBuilder.java   |  2 +-
 .../apache/juneau/oapi/OpenApiParserBuilder.java   |  2 +-
 .../juneau/oapi/OpenApiSerializerBuilder.java      |  2 +-
 .../juneau/parser/InputStreamParserBuilder.java    |  2 +-
 .../org/apache/juneau/parser/ParserBuilder.java    |  2 +-
 .../apache/juneau/parser/ReaderParserBuilder.java  |  2 +-
 .../juneau/plaintext/PlainTextParserBuilder.java   |  2 +-
 .../plaintext/PlainTextSerializerBuilder.java      |  2 +-
 .../serializer/OutputStreamSerializerBuilder.java  |  2 +-
 .../juneau/serializer/SerializerBuilder.java       |  2 +-
 .../juneau/serializer/WriterSerializerBuilder.java |  2 +-
 .../juneau/soap/SoapXmlSerializerBuilder.java      |  2 +-
 .../org/apache/juneau/uon/UonParserBuilder.java    |  2 +-
 .../apache/juneau/uon/UonSerializerBuilder.java    |  2 +-
 .../urlencoding/UrlEncodingParserBuilder.java      |  2 +-
 .../urlencoding/UrlEncodingSerializerBuilder.java  |  2 +-
 .../org/apache/juneau/xml/XmlParserBuilder.java    |  2 +-
 .../apache/juneau/xml/XmlSerializerBuilder.java    |  2 +-
 .../juneau/rest/client/RestClientBuilder.java      |  3 +-
 .../juneau/rest/mock/MockRestClientBuilder.java    |  2 +-
 .../annotation/BeanConfigAnnotation_Test.java      |  2 +-
 .../client/RestClient_Config_Context_Test.java     |  3 +-
 .../client/RestClient_Config_RestClient_Test.java  |  6 ---
 47 files changed, 102 insertions(+), 131 deletions(-)

diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
index 98fbdb9..7e1d92e 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfParserBuilder.java
@@ -1167,7 +1167,7 @@ public class RdfParserBuilder extends ReaderParserBuilder 
{
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfParserBuilder notBeanClasses(Object...values) {
+       public RdfParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
index 625f3e6..03b4c95 100644
--- 
a/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall-rdf/src/main/java/org/apache/juneau/jena/RdfSerializerBuilder.java
@@ -1266,7 +1266,7 @@ public class RdfSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfSerializerBuilder notBeanClasses(Object...values) {
+       public RdfSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanContext.java
index 9485367..e053d7c 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
@@ -16,6 +16,7 @@ import static org.apache.juneau.internal.ClassUtils.*;
 import static org.apache.juneau.internal.CollectionUtils.*;
 import static org.apache.juneau.internal.ExceptionUtils.*;
 import static java.util.Optional.*;
+import static java.util.Arrays.*;
 
 import java.io.*;
 import java.lang.reflect.*;
@@ -156,39 +157,10 @@ public class BeanContext extends Context {
        static final String PREFIX = "BeanContext";
 
        /**
-        * Configuration property:  Bean class exclusions.
-        *
-        * <p>
-        * List of classes that should not be treated as beans even if they 
appear to be bean-like.
-        * Not-bean classes are converted to <c>Strings</c> during 
serialization.
-        *
-        * <h5 class='section'>Property:</h5>
-        * <ul class='spaced-list'>
-        *      <li><b>ID:</b>  {@link 
org.apache.juneau.BeanContext#BEAN_notBeanClasses BEAN_notBeanClasses}
-        *      <li><b>Name:</b>  <js>"BeanContext.notBeanClasses.sc"</js>
-        *      <li><b>Data type:</b>  <c>Set&lt;Class&gt;</c>
-        *      <li><b>Default:</b>  empty set
-        *      <li><b>Session property:</b>  <jk>false</jk>
-        *      <li><b>Annotations:</b>
-        *              <ul>
-        *                      <li class='ja'>{@link 
org.apache.juneau.annotation.BeanIgnore}
-        *                      <li class='ja'>{@link 
org.apache.juneau.annotation.BeanConfig#notBeanClasses()}
-        *                      <li class='ja'>{@link 
org.apache.juneau.annotation.BeanConfig#notBeanClasses_replace()}
-        *              </ul>
-        *      <li><b>Methods:</b>
-        *              <ul>
-        *                      <li class='jm'>{@link 
org.apache.juneau.BeanContextBuilder#notBeanClasses(Object...)}
-        *                      <li class='jm'>{@link 
org.apache.juneau.BeanContextBuilder#notBeanClasses_replace(Object...)}
-        *              </ul>
-        * </ul>
-        */
-       public static final String BEAN_notBeanClasses = PREFIX + 
".notBeanClasses.sc";
-
-       /**
         * Configuration property:  Bean package exclusions.
         *
         * <p>
-        * Used as a convenient way of defining the {@link 
#BEAN_notBeanClasses} property for entire packages.
+        * Used as a convenient way of defining the not-bean-classes property 
for entire packages.
         * Any classes within these packages will be serialized to strings 
using {@link Object#toString()}.
         *
         * <h5 class='section'>Property:</h5>
@@ -311,14 +283,14 @@ public class BeanContext extends Context {
                beanMethodVisibility,
                beanFieldVisibility;
 
-       private final Class<?>[] notBeanClasses;
-       final List<Class<?>> beanDictionary, swaps;
+       final List<Class<?>> beanDictionary, swaps, notBeanClasses;
        private final String[] notBeanPackageNames, notBeanPackagePrefixes;
        private final BeanRegistry beanRegistry;
        private final PropertyNamer propertyNamer;
        final String typePropertyName;
 
-       final PojoSwap[] swapArray;
+       private final PojoSwap[] swapArray;
+       private final Class<?>[] notBeanClassesArray;
 
        final Locale locale;
        final TimeZone timeZone;
@@ -371,8 +343,7 @@ public class BeanContext extends Context {
                mediaType = builder.mediaType;
                beanDictionary = 
ofNullable(builder.beanDictionary).map(Collections::unmodifiableList).orElse(emptyList());
                swaps = 
ofNullable(builder.swaps).map(Collections::unmodifiableList).orElse(emptyList());
-
-               notBeanClasses = 
cp.getClassArray(BEAN_notBeanClasses).orElse(DEFAULT_NOTBEAN_CLASSES);
+               notBeanClasses = 
ofNullable(builder.notBeanClasses).map(ArrayList::new).map(Collections::unmodifiableList).orElse(emptyList());
 
                propertyNamer = cp.getInstance(BEAN_propertyNamer, 
PropertyNamer.class).orElseGet(BasicPropertyNamer::new);
 
@@ -399,6 +370,14 @@ public class BeanContext extends Context {
                }
                swapArray = lpf.toArray(new PojoSwap[lpf.size()]);
 
+               if (notBeanClasses.isEmpty())
+                       notBeanClassesArray = DEFAULT_NOTBEAN_CLASSES;
+               else {
+                       List<Class<?>> l = new ArrayList<>(notBeanClasses);
+                       l.addAll(asList(DEFAULT_NOTBEAN_CLASSES));
+                       notBeanClassesArray = l.toArray(new Class[0]);
+               }
+
                cmCache = new ConcurrentHashMap<>();
                cmCache.put(String.class, new ClassMeta(String.class, this, 
findPojoSwaps(String.class), findChildPojoSwaps(String.class)));
                cmCache.put(Object.class, new ClassMeta(Object.class, this, 
findPojoSwaps(Object.class), findChildPojoSwaps(Object.class)));
@@ -530,7 +509,7 @@ public class BeanContext extends Context {
                                        return true;
                }
                ClassInfo ci = ClassInfo.of(c);
-               for (Class exclude : notBeanClasses)
+               for (Class exclude : notBeanClassesArray)
                        if (ci.isChildOf(exclude))
                                return true;
                return false;
@@ -1216,12 +1195,12 @@ public class BeanContext extends Context {
        /**
         * Bean class exclusions.
         *
-        * @see #BEAN_notBeanClasses
+        * @see BeanContextBuilder#notBeanClasses(Class...)
         * @return
         *      The list of classes that are explicitly not beans.
         */
        protected final Class<?>[] getNotBeanClasses() {
-               return notBeanClasses;
+               return notBeanClassesArray;
        }
 
        /**
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 bf4353e..95401b4 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
@@ -68,6 +68,7 @@ public class BeanContextBuilder extends ContextBuilder {
 
        Visibility beanClassVisibility, beanConstructorVisibility, 
beanMethodVisibility, beanFieldVisibility;
        List<Class<?>> beanDictionary, swaps;
+       Set<Class<?>> notBeanClasses;
        boolean disableBeansRequireSomeProperties, beanMapPutReturnsOldValue, 
beansRequireDefaultConstructor, beansRequireSerializable,
                beansRequireSettersForGetters, disableIgnoreTransientFields, 
disableIgnoreUnknownNullBeanProperties, disableIgnoreMissingSetters,
                disableInterfaceProxies, findFluentSetters, 
ignoreInvocationExceptionsOnGetters, ignoreInvocationExceptionsOnSetters,
@@ -90,6 +91,7 @@ public class BeanContextBuilder extends ContextBuilder {
                beanFieldVisibility = env("BeanContext.beanFieldVisibility", 
PUBLIC);
                beanDictionary = null;
                swaps = null;
+               notBeanClasses = null;
                disableBeansRequireSomeProperties = 
env("BeanContext.disableBeansRequireSomeProperties", false);
                beanMapPutReturnsOldValue = 
env("BeanContext.beanMapPutReturnsOldValue", false);
                beansRequireDefaultConstructor = 
env("BeanContext.beansRequireDefaultConstructor", false);
@@ -125,6 +127,7 @@ public class BeanContextBuilder extends ContextBuilder {
                beanFieldVisibility = copyFrom.beanFieldVisibility;
                beanDictionary = copyFrom.beanDictionary.isEmpty() ? null : new 
ArrayList<>(copyFrom.beanDictionary);
                swaps = copyFrom.swaps.isEmpty() ? null : new 
ArrayList<>(copyFrom.swaps);
+               notBeanClasses = copyFrom.notBeanClasses.isEmpty() ? null : 
classSet(copyFrom.notBeanClasses);
                disableBeansRequireSomeProperties = ! 
copyFrom.beansRequireSomeProperties;
                beanMapPutReturnsOldValue = copyFrom.beanMapPutReturnsOldValue;
                beansRequireDefaultConstructor = 
copyFrom.beansRequireDefaultConstructor;
@@ -160,6 +163,7 @@ public class BeanContextBuilder extends ContextBuilder {
                beanFieldVisibility = copyFrom.beanFieldVisibility;
                beanDictionary = copyFrom.beanDictionary == null ? null : new 
ArrayList<>(copyFrom.beanDictionary);
                swaps = copyFrom.swaps == null ? null : new 
ArrayList<>(copyFrom.swaps);
+               notBeanClasses = copyFrom.notBeanClasses == null ? null : 
classSet(copyFrom.notBeanClasses);
                disableBeansRequireSomeProperties = 
copyFrom.disableBeansRequireSomeProperties;
                beanMapPutReturnsOldValue = copyFrom.beanMapPutReturnsOldValue;
                beansRequireDefaultConstructor = 
copyFrom.beansRequireDefaultConstructor;
@@ -199,6 +203,7 @@ public class BeanContextBuilder extends ContextBuilder {
                        beanFieldVisibility,
                        beanDictionary,
                        swaps,
+                       notBeanClasses,
                        integer(
                                disableBeansRequireSomeProperties,
                                beanMapPutReturnsOldValue,
@@ -2437,7 +2442,6 @@ public class BeanContextBuilder extends ContextBuilder {
         * <ul class='seealso'>
         *      <li class='ja'>{@link org.apache.juneau.annotation.BeanIgnore}
         *      <li class='ja'>{@link 
org.apache.juneau.annotation.BeanConfig#notBeanClasses()}
-        *      <li class='jf'>{@link BeanContext#BEAN_notBeanClasses}
         * </ul>
         *
         * @param values
@@ -2450,35 +2454,39 @@ public class BeanContextBuilder extends ContextBuilder {
         * @return This object (for method chaining).
         */
        @FluentSetter
-       public BeanContextBuilder notBeanClasses(Object...values) {
-               return addTo(BEAN_notBeanClasses, values);
+       public BeanContextBuilder notBeanClasses(Class<?>...values) {
+               return notBeanClasses(asList(values));
        }
 
        /**
-        * Bean class exclusions.
-        *
-        * <p>
-        * Same as {@link #notBeanClasses(Object...)} but replaces any existing 
values.
+        * Same as {@link #notBeanClasses(Class...)} but allows you to pass in 
a collection of classes.
         *
         * @param values
         *      The values to add to this setting.
-        *      <br>Values can consist of any of the following types:
-        *      <ul>
-        *              <li>Classes.
-        *              <li>Arrays and collections of classes.
-        *      </ul>
         * @return This object (for method chaining).
         */
        @FluentSetter
-       public BeanContextBuilder notBeanClasses_replace(Object...values) {
-               return set(BEAN_notBeanClasses, values);
+       public BeanContextBuilder notBeanClasses(Collection<Class<?>> values) {
+               notBeanClasses().addAll(values);
+               return this;
+       }
+
+       /**
+        * Returns the list of not-bean classes.
+        *
+        * @return The list of not-bean classes.
+        */
+       public Set<Class<?>> notBeanClasses() {
+               if (notBeanClasses == null)
+                       notBeanClasses = classSet();
+               return notBeanClasses;
        }
 
        /**
         * Bean package exclusions.
         *
         * <p>
-        * Used as a convenient way of defining the {@link 
#notBeanClasses(Object...)} property for entire packages.
+        * Used as a convenient way of defining the {@link 
#notBeanClasses(Class...)} property for entire packages.
         * Any classes within these packages will be serialized to strings 
using {@link Object#toString()}.
         *
         * <p>
@@ -3292,4 +3300,18 @@ public class BeanContextBuilder extends ContextBuilder {
        }
 
        // </FluentSetters>
+
+       
//-----------------------------------------------------------------------------------------------------------------
+       // Helpers
+       
//-----------------------------------------------------------------------------------------------------------------
+
+       private static Set<Class<?>> classSet() {
+               return new TreeSet<>(Comparator.comparing(Class::getName));
+       }
+
+       private static Set<Class<?>> classSet(Collection<Class<?>> copy) {
+               Set<Class<?>> x = classSet();
+               x.addAll(copy);
+               return x;
+       }
 }
\ No newline at end of file
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 661b4ea..0e8560e 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
@@ -2203,7 +2203,7 @@ public abstract class BeanContextableBuilder extends 
ContextBuilder {
         * <ul class='seealso'>
         *      <li class='ja'>{@link BeanIgnore}
         *      <li class='ja'>{@link BeanConfig#notBeanClasses()}
-        *      <li class='jf'>{@link BeanContext#BEAN_notBeanClasses}
+        *      <li class='jf'>{@link BeanContextBuilder#notBeanClasses()}
         * </ul>
         *
         * @param values
@@ -2216,37 +2216,16 @@ public abstract class BeanContextableBuilder extends 
ContextBuilder {
         * @return This object (for method chaining).
         */
        @FluentSetter
-       public BeanContextableBuilder notBeanClasses(Object...values) {
+       public BeanContextableBuilder notBeanClasses(Class<?>...values) {
                bcBuilder.notBeanClasses(values);
                return this;
        }
 
        /**
-        * Bean class exclusions.
-        *
-        * <p>
-        * Same as {@link #notBeanClasses(Object...)} but replaces any existing 
values.
-        *
-        * @param values
-        *      The values to add to this setting.
-        *      <br>Values can consist of any of the following types:
-        *      <ul>
-        *              <li>Classes.
-        *              <li>Arrays and collections of classes.
-        *      </ul>
-        * @return This object (for method chaining).
-        */
-       @FluentSetter
-       public BeanContextableBuilder notBeanClasses_replace(Object...values) {
-               bcBuilder.notBeanClasses_replace(values);
-               return this;
-       }
-
-       /**
         * Bean package exclusions.
         *
         * <p>
-        * Used as a convenient way of defining the {@link 
#notBeanClasses(Object...)} property for entire packages.
+        * Used as a convenient way of defining the {@link 
BeanContextBuilder#notBeanClasses(Class...)} property for entire packages.
         * Any classes within these packages will be serialized to strings 
using {@link Object#toString()}.
         *
         * <p>
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 d6de65e..49afb06 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
@@ -1444,7 +1444,7 @@ public class BeanSession extends Session {
        /**
         * Configuration property:  Bean class exclusions.
         *
-        * @see BeanContext#BEAN_notBeanClasses
+        * @see BeanContextBuilder#notBeanClasses(Class...)
         * @return
         *      The list of classes that are explicitly not beans.
         */
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
index 4b428ec..c98baab 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/BeanTraverseBuilder.java
@@ -588,7 +588,7 @@ public abstract class BeanTraverseBuilder extends 
BeanContextableBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public BeanTraverseBuilder notBeanClasses(Object...values) {
+       public BeanTraverseBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
index e276fe5..a9aa9ff 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/ContextBuilder.java
@@ -947,7 +947,7 @@ public abstract class ContextBuilder {
         * </ul>
         *
         * <p>
-        * For example, the {@link BeanContext#BEAN_notBeanClasses} property 
which has the value <js>"BeanContext.notBeanClasses.sc"</js>.
+        * For example, the {@link BeanContextBuilder#notBeanClasses(Class...)} 
property which has the value <js>"BeanContext.notBeanClasses.sc"</js>.
         *
         * <h5 class='section'>Example:</h5>
         * <p class='bcode w800'>
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 e0a4dcb..98a2954 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
@@ -660,8 +660,7 @@ public @interface BeanConfig {
         *
         * <ul class='seealso'>
         *      <li class='ja'>{@link BeanIgnore}
-        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanClasses(Object...)}
-        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanClasses_replace(Object...)}
+        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanClasses(Class...)}
         * </ul>
         */
        Class<?>[] notBeanClasses() default {};
@@ -673,7 +672,7 @@ public @interface BeanConfig {
         * Same as {@link #notBeanClasses()} but replaces any existing value.
         *
         * <ul class='seealso'>
-        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanClasses(Object...)}
+        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanClasses(Class...)}
         * </ul>
         */
        Class<?>[] notBeanClasses_replace() 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 8c1d33b..3e9a162 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
@@ -74,10 +74,10 @@ public class BeanConfigAnnotation {
                        classes(a.dictionary_replace()).ifPresent(x -> { 
b.beanDictionary().clear(); b.beanDictionary(x);});
                        classes(a.swaps()).ifPresent(x -> b.swaps(x));
                        classes(a.swaps_replace()).ifPresent(x -> { 
b.swaps().clear(); b.swaps(x);});
+                       classes(a.notBeanClasses()).ifPresent(x -> 
b.notBeanClasses(x));
+                       classes(a.notBeanClasses_replace()).ifPresent(x -> { 
b.notBeanClasses().clear(); b.notBeanClasses(x);});
                        type(a.propertyNamer()).ifPresent(x -> 
b.set(BEAN_propertyNamer, x));
                        asList(a.interfaces()).stream().map(x -> 
BeanAnnotation.create(x).interfaceClass(x).build()).forEach(x -> 
b.annotations(x));
-                       b.setIfNotEmpty(BEAN_notBeanClasses, 
a.notBeanClasses());
-                       b.setIfNotEmpty(BEAN_notBeanClasses, 
a.notBeanClasses_replace());
                        b.addTo(BEAN_notBeanPackages, 
stringList(a.notBeanPackages()));
                        b.setIfNotEmpty(BEAN_notBeanPackages, 
stringList(a.notBeanPackages_replace()));
                }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
index 6b5d46c..1c19581 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvParserBuilder.java
@@ -426,7 +426,7 @@ public class CsvParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvParserBuilder notBeanClasses(Object...values) {
+       public CsvParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
index ba03d67..f41d2fa 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/csv/CsvSerializerBuilder.java
@@ -438,7 +438,7 @@ public class CsvSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvSerializerBuilder notBeanClasses(Object...values) {
+       public CsvSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
index 825dd5f..3e85cb7 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlDocSerializerBuilder.java
@@ -937,7 +937,7 @@ public class HtmlDocSerializerBuilder extends 
HtmlStrippedDocSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlDocSerializerBuilder notBeanClasses(Object...values) {
+       public HtmlDocSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
index 39839b8..cecad8e 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlParserBuilder.java
@@ -429,7 +429,7 @@ public class HtmlParserBuilder extends XmlParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlParserBuilder notBeanClasses(Object...values) {
+       public HtmlParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
index f572018..84d4ac0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSchemaSerializerBuilder.java
@@ -607,7 +607,7 @@ public class HtmlSchemaSerializerBuilder extends 
HtmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSchemaSerializerBuilder notBeanClasses(Object...values) {
+       public HtmlSchemaSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
index 7ffb227..db33fa9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlSerializerBuilder.java
@@ -826,7 +826,7 @@ public class HtmlSerializerBuilder extends 
XmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSerializerBuilder notBeanClasses(Object...values) {
+       public HtmlSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
index 6e7c928..98a29bc 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/html/HtmlStrippedDocSerializerBuilder.java
@@ -427,7 +427,7 @@ public class HtmlStrippedDocSerializerBuilder extends 
HtmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlStrippedDocSerializerBuilder notBeanClasses(Object...values) 
{
+       public HtmlStrippedDocSerializerBuilder 
notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
index 5104869..15089ee 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoParserBuilder.java
@@ -425,7 +425,7 @@ public class JsoParserBuilder extends 
InputStreamParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoParserBuilder notBeanClasses(Object...values) {
+       public JsoParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
index b640001..610cf60 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jso/JsoSerializerBuilder.java
@@ -437,7 +437,7 @@ public class JsoSerializerBuilder extends 
OutputStreamSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoSerializerBuilder notBeanClasses(Object...values) {
+       public JsoSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
index f63c0b3..87695b5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonParserBuilder.java
@@ -466,7 +466,7 @@ public class JsonParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonParserBuilder notBeanClasses(Object...values) {
+       public JsonParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
index ef7850d..d4bb4aa 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSchemaSerializerBuilder.java
@@ -610,7 +610,7 @@ public class JsonSchemaSerializerBuilder extends 
JsonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSchemaSerializerBuilder notBeanClasses(Object...values) {
+       public JsonSchemaSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
index 1abc983..ad97fd5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/JsonSerializerBuilder.java
@@ -580,7 +580,7 @@ public class JsonSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSerializerBuilder notBeanClasses(Object...values) {
+       public JsonSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
index c49f5b5..3f5af61 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/jsonschema/JsonSchemaGeneratorBuilder.java
@@ -690,7 +690,7 @@ public class JsonSchemaGeneratorBuilder extends 
BeanTraverseBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSchemaGeneratorBuilder notBeanClasses(Object...values) {
+       public JsonSchemaGeneratorBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
index 97265e6..d0cfbb1 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackParserBuilder.java
@@ -425,7 +425,7 @@ public class MsgPackParserBuilder extends 
InputStreamParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackParserBuilder notBeanClasses(Object...values) {
+       public MsgPackParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
index 0daea76..26173d0 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/msgpack/MsgPackSerializerBuilder.java
@@ -437,7 +437,7 @@ public class MsgPackSerializerBuilder extends 
OutputStreamSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackSerializerBuilder notBeanClasses(Object...values) {
+       public MsgPackSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
index 47af3c3..cafebef 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserBuilder.java
@@ -540,7 +540,7 @@ public class OpenApiParserBuilder extends UonParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiParserBuilder notBeanClasses(Object...values) {
+       public OpenApiParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
index 896b101..8bbda55 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiSerializerBuilder.java
@@ -563,7 +563,7 @@ public class OpenApiSerializerBuilder extends 
UonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiSerializerBuilder notBeanClasses(Object...values) {
+       public OpenApiSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
index 618c13b..5996f95 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/InputStreamParserBuilder.java
@@ -457,7 +457,7 @@ public abstract class InputStreamParserBuilder extends 
ParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public InputStreamParserBuilder notBeanClasses(Object...values) {
+       public InputStreamParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
index 8488aa3..40ec7c4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserBuilder.java
@@ -730,7 +730,7 @@ public abstract class ParserBuilder extends 
BeanContextableBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserBuilder notBeanClasses(Object...values) {
+       public ParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
index 8511065..b36aa53 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ReaderParserBuilder.java
@@ -494,7 +494,7 @@ public abstract class ReaderParserBuilder extends 
ParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ReaderParserBuilder notBeanClasses(Object...values) {
+       public ReaderParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
index 26e8568..b9d35f8 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextParserBuilder.java
@@ -431,7 +431,7 @@ public class PlainTextParserBuilder extends 
ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextParserBuilder notBeanClasses(Object...values) {
+       public PlainTextParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
index 534751e..4f91fc5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/plaintext/PlainTextSerializerBuilder.java
@@ -438,7 +438,7 @@ public class PlainTextSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextSerializerBuilder notBeanClasses(Object...values) {
+       public PlainTextSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
index 186ac64..d5a039c 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/OutputStreamSerializerBuilder.java
@@ -471,7 +471,7 @@ public abstract class OutputStreamSerializerBuilder extends 
SerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OutputStreamSerializerBuilder notBeanClasses(Object...values) {
+       public OutputStreamSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
index e62ed1a..284ce55 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerBuilder.java
@@ -990,7 +990,7 @@ public abstract class SerializerBuilder extends 
BeanTraverseBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerBuilder notBeanClasses(Object...values) {
+       public SerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
index fc9de59..cdada02 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/WriterSerializerBuilder.java
@@ -704,7 +704,7 @@ public abstract class WriterSerializerBuilder extends 
SerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public WriterSerializerBuilder notBeanClasses(Object...values) {
+       public WriterSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
index 71c6e73..47070de 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/soap/SoapXmlSerializerBuilder.java
@@ -458,7 +458,7 @@ public class SoapXmlSerializerBuilder extends 
XmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SoapXmlSerializerBuilder notBeanClasses(Object...values) {
+       public SoapXmlSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
index cdfd885..f4ec3d4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonParserBuilder.java
@@ -490,7 +490,7 @@ public class UonParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonParserBuilder notBeanClasses(Object...values) {
+       public UonParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
index 6e87159..3919120 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/uon/UonSerializerBuilder.java
@@ -581,7 +581,7 @@ public class UonSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonSerializerBuilder notBeanClasses(Object...values) {
+       public UonSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
index be4c40e..36212f9 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingParserBuilder.java
@@ -476,7 +476,7 @@ public class UrlEncodingParserBuilder extends 
UonParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingParserBuilder notBeanClasses(Object...values) {
+       public UrlEncodingParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
index c8109b3..81283f3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/urlencoding/UrlEncodingSerializerBuilder.java
@@ -478,7 +478,7 @@ public class UrlEncodingSerializerBuilder extends 
UonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingSerializerBuilder notBeanClasses(Object...values) {
+       public UrlEncodingSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
index 3377b34..530f77b 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlParserBuilder.java
@@ -606,7 +606,7 @@ public class XmlParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlParserBuilder notBeanClasses(Object...values) {
+       public XmlParserBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
index 828270a..8d843f4 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xml/XmlSerializerBuilder.java
@@ -590,7 +590,7 @@ public class XmlSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlSerializerBuilder notBeanClasses(Object...values) {
+       public XmlSerializerBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
index 2c6afcc..fccdb43 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/RestClientBuilder.java
@@ -1882,7 +1882,6 @@ public class RestClientBuilder extends 
BeanContextableBuilder {
        @FluentSetter
        public RestClientBuilder debug() {
                super.debug();
-               detectLeaks();
                return headers(Debug.TRUE);
        }
 
@@ -5077,7 +5076,7 @@ public class RestClientBuilder extends 
BeanContextableBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestClientBuilder notBeanClasses(Object...values) {
+       public RestClientBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java
 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java
index d1e9ae3..7faf816 100644
--- 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java
+++ 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClientBuilder.java
@@ -579,7 +579,7 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MockRestClientBuilder notBeanClasses(Object...values) {
+       public MockRestClientBuilder notBeanClasses(Class<?>...values) {
                super.notBeanClasses(values);
                return this;
        }
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
index 8dd04de..873e2a3 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/annotation/BeanConfigAnnotation_Test.java
@@ -168,7 +168,7 @@ public class BeanConfigAnnotation_Test {
                check("false", bc.isIgnoreUnknownNullBeanProperties());
                check("en_US", bc.getLocale());
                check("application/json", bc.getMediaType());
-               check("A1,A2,A3", bc.getNotBeanClasses());
+               
check("A1,A2,A3,Map,Collection,Reader,Writer,InputStream,OutputStream,Throwable",
 bc.getNotBeanClasses());
                check("foo1,foo2,foo3", bc.getNotBeanPackagesNames());
                
check("AB1<String,Integer>,AB2<String,Integer>,AB3<String,Integer>", 
bc.getSwaps());
                check("PropertyNamerULC", bc.getPropertyNamer());
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
index 6906260..01eb176 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_Context_Test.java
@@ -14,7 +14,6 @@ package org.apache.juneau.rest.client;
 
 import static org.junit.Assert.*;
 import static org.junit.runners.MethodSorters.*;
-import static org.apache.juneau.BeanContext.*;
 import java.io.*;
 import org.apache.juneau.*;
 import org.apache.juneau.annotation.*;
@@ -51,7 +50,7 @@ public class RestClient_Config_Context_Test {
 
        @Test
        public void a02_addToStringObject() throws Exception {
-               
client().addTo(BEAN_notBeanClasses,A2.class).build().post("/echoBody",A2.fromString("bar")).run().cacheBody().assertBody().is("'bar'").getBody().asType(A2.class);
+               
client().notBeanClasses(A2.class).build().post("/echoBody",A2.fromString("bar")).run().cacheBody().assertBody().is("'bar'").getBody().asType(A2.class);
        }
 
        public static class A3a {
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
index d4cbc4a..c86e35f 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_RestClient_Test.java
@@ -350,12 +350,6 @@ public class RestClient_Config_RestClient_Test {
        public void a07_leakDetection() throws Throwable {
                client().detectLeaks().build(A7.class).finalize();
                assertEquals("WARNING:  RestClient garbage collected before it 
was finalized.",A7.lastMessage);
-
-               client().debug().build(A7.class).finalize();
-               assertTrue(A7.lastMessage.startsWith("WARNING:  RestClient 
garbage collected before it was finalized.\nCreation Stack:\n\t"));
-
-               client().detectLeaks().build(A7.class).finalize();
-               assertEquals("WARNING:  RestClient garbage collected before it 
was finalized.",A7.lastMessage);
        }
 
        @Test

Reply via email to