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 689eef7  Context API refactoring.
689eef7 is described below

commit 689eef77dbb0e41ab3976e62165daae8d2a26523
Author: JamesBognar <[email protected]>
AuthorDate: Sun Sep 26 11:26:24 2021 -0400

    Context API refactoring.
---
 .../org/apache/juneau/jena/RdfParserBuilder.java   |  2 +-
 .../apache/juneau/jena/RdfSerializerBuilder.java   |  2 +-
 .../java/org/apache/juneau/AnnotationApplier.java  | 17 ++++-
 .../main/java/org/apache/juneau/BeanContext.java   | 76 ++++------------------
 .../java/org/apache/juneau/BeanContextBuilder.java | 48 +++++++++-----
 .../org/apache/juneau/BeanContextableBuilder.java  |  4 +-
 .../main/java/org/apache/juneau/BeanSession.java   |  4 +-
 .../org/apache/juneau/BeanTraverseBuilder.java     |  2 +-
 .../org/apache/juneau/annotation/BeanConfig.java   |  4 +-
 .../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      |  2 +-
 .../juneau/rest/mock/MockRestClientBuilder.java    |  2 +-
 .../juneau/rest/annotation/RestAnnotation.java     | 14 ++--
 .../rest/annotation/RestDeleteAnnotation.java      | 10 +--
 .../juneau/rest/annotation/RestGetAnnotation.java  | 12 ++--
 .../juneau/rest/annotation/RestOpAnnotation.java   | 16 ++---
 .../juneau/rest/annotation/RestPostAnnotation.java | 16 ++---
 .../juneau/rest/annotation/RestPutAnnotation.java  | 16 ++---
 .../java/org/apache/juneau/BeanConfigTest.java     |  4 +-
 .../java/org/apache/juneau/IgnoredClassesTest.java |  6 +-
 .../annotation/BeanConfigAnnotation_Test.java      |  2 +-
 .../client/RestClient_Config_BeanContext_Test.java |  2 +-
 54 files changed, 153 insertions(+), 176 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 7e1d92e..6963555 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
@@ -1173,7 +1173,7 @@ public class RdfParserBuilder extends ReaderParserBuilder 
{
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfParserBuilder notBeanPackages(Object...values) {
+       public RdfParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 03b4c95..9bc48f7 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
@@ -1272,7 +1272,7 @@ public class RdfSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfSerializerBuilder notBeanPackages(Object...values) {
+       public RdfSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(values);
                return this;
        }
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
index 2512812..6959760 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/AnnotationApplier.java
@@ -105,13 +105,26 @@ public abstract class AnnotationApplier<A extends 
Annotation, B> {
        }
 
        /**
+        * Returns the specified string array as an {@link Optional}.
+        *
+        * <p>
+        * If the array is empty, then returns {@link Optional#empty()}.
+        *
+        * @param in The string array.
+        * @return The array wrapped in an {@link Optional}.
+        */
+       protected Optional<String[]> strings(String[] in) {
+               return Optional.ofNullable(in.length == 0 ? null : 
Arrays.asList(in).stream().map(x -> vr.resolve(x)).filter(x -> 
!StringUtils.isEmpty(x)).toArray(String[]::new));
+       }
+
+       /**
         * Resolves the specified strings in the string array.
         *
         * @param in The string array containing variables to resolve.
         * @return An array with resolved strings.
         */
        protected List<String> stringList(String[] in) {
-               return strings(in).collect(Collectors.toList());
+               return stream(in).collect(Collectors.toList());
        }
 
        /**
@@ -120,7 +133,7 @@ public abstract class AnnotationApplier<A extends 
Annotation, B> {
         * @param in The CDL string containing variables to resolve.
         * @return An array with resolved strings.
         */
-       protected Stream<String> strings(String[] in) {
+       protected Stream<String> stream(String[] in) {
                return Arrays.asList(in).stream().map(x -> 
vr.resolve(x)).filter(x -> !StringUtils.isEmpty(x));
        }
 
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 e053d7c..3d1336c 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
@@ -22,6 +22,7 @@ import java.io.*;
 import java.lang.reflect.*;
 import java.util.*;
 import java.util.concurrent.*;
+import java.util.stream.*;
 
 import org.apache.juneau.annotation.*;
 import org.apache.juneau.collections.*;
@@ -157,44 +158,6 @@ public class BeanContext extends Context {
        static final String PREFIX = "BeanContext";
 
        /**
-        * Configuration property:  Bean package exclusions.
-        *
-        * <p>
-        * 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>
-        * <ul class='spaced-list'>
-        *      <li><b>ID:</b>  {@link 
org.apache.juneau.BeanContext#BEAN_notBeanPackages BEAN_notBeanPackages}
-        *      <li><b>Name:</b>  <js>"BeanContext.notBeanPackages.ss"</js>
-        *      <li><b>Data type:</b>  <c>Set&lt;String&gt;</c>
-        *      <li><b>System property:</b>  <c>BeanContext.notBeanPackages</c>
-        *      <li><b>Environment variable:</b>  
<c>BEANCONTEXT_NOTBEANPACKAGES</c>
-        *      <li><b>Default:</b>
-        *      <ul>
-        *              <li><c>java.lang</c>
-        *              <li><c>java.lang.annotation</c>
-        *              <li><c>java.lang.ref</c>
-        *              <li><c>java.lang.reflect</c>
-        *              <li><c>java.io</c>
-        *              <li><c>java.net</c>
-        *              <li><c>java.nio.*</c>
-        *              <li><c>java.util.*</c>
-        *      </ul>
-        *      <li><b>Session property:</b>  <jk>false</jk>
-        *      <li><b>Annotations:</b>
-        *              <ul>
-        *                      <li class='ja'>{@link 
org.apache.juneau.annotation.BeanConfig#notBeanPackages()}
-        *              </ul>
-        *      <li><b>Methods:</b>
-        *              <ul>
-        *                      <li class='jm'>{@link 
org.apache.juneau.BeanContextBuilder#notBeanPackages(Object...)}
-        *              </ul>
-        * </ul>
-        */
-       public static final String BEAN_notBeanPackages = PREFIX + 
".notBeanPackages.ss";
-
-       /**
         * Configuration property:  Bean property namer.
         *
         * <p>
@@ -284,6 +247,7 @@ public class BeanContext extends Context {
                beanFieldVisibility;
 
        final List<Class<?>> beanDictionary, swaps, notBeanClasses;
+       final List<String> notBeanPackages;
        private final String[] notBeanPackageNames, notBeanPackagePrefixes;
        private final BeanRegistry beanRegistry;
        private final PropertyNamer propertyNamer;
@@ -344,39 +308,27 @@ public class BeanContext extends Context {
                beanDictionary = 
ofNullable(builder.beanDictionary).map(Collections::unmodifiableList).orElse(emptyList());
                swaps = 
ofNullable(builder.swaps).map(Collections::unmodifiableList).orElse(emptyList());
                notBeanClasses = 
ofNullable(builder.notBeanClasses).map(ArrayList::new).map(Collections::unmodifiableList).orElse(emptyList());
+               notBeanPackages = 
ofNullable(builder.notBeanPackages).map(ArrayList::new).map(Collections::unmodifiableList).orElse(emptyList());
 
                propertyNamer = cp.getInstance(BEAN_propertyNamer, 
PropertyNamer.class).orElseGet(BasicPropertyNamer::new);
 
-               List<String> l1 = new LinkedList<>();
-               List<String> l2 = new LinkedList<>();
-               for (String s : cp.getArray(BEAN_notBeanPackages, 
String.class).orElse(DEFAULT_NOTBEAN_PACKAGES)) {
-                       if (s.endsWith(".*"))
-                               l2.add(s.substring(0, s.length()-2));
-                       else
-                               l1.add(s);
-               }
-               notBeanPackageNames = l1.toArray(new String[l1.size()]);
-               notBeanPackagePrefixes = l2.toArray(new String[l2.size()]);
+               notBeanClassesArray = notBeanClasses.isEmpty() ? 
DEFAULT_NOTBEAN_CLASSES : Stream.of(notBeanClasses, 
asList(DEFAULT_NOTBEAN_CLASSES)).flatMap(Collection::stream).toArray(Class[]::new);
 
-               LinkedList<PojoSwap<?,?>> lpf = new LinkedList<>();
+               String[] _notBeanPackages = notBeanPackages.isEmpty() ? 
DEFAULT_NOTBEAN_PACKAGES : Stream.of(notBeanPackages, 
asList(DEFAULT_NOTBEAN_PACKAGES)).flatMap(Collection::stream).toArray(String[]::new);
+               notBeanPackageNames = Stream.of(_notBeanPackages).filter(x -> ! 
x.endsWith(".*")).toArray(String[]::new);
+               notBeanPackagePrefixes = Stream.of(_notBeanPackages).filter(x 
-> x.endsWith(".*")).map(x -> x.substring(0, 
x.length()-2)).toArray(String[]::new);
+
+               LinkedList<PojoSwap<?,?>> _swaps = new LinkedList<>();
                for (Object o : ofNullable(swaps).orElse(emptyList())) {
                        ClassInfo ci = ClassInfo.of((Class<?>)o);
                        if (ci.isChildOf(PojoSwap.class))
-                               lpf.add(castOrCreate(PojoSwap.class, 
ci.inner()));
+                               _swaps.add(castOrCreate(PojoSwap.class, 
ci.inner()));
                        else if (ci.isChildOf(Surrogate.class))
-                               
lpf.addAll(SurrogateSwap.findPojoSwaps(ci.inner(), this));
+                               
_swaps.addAll(SurrogateSwap.findPojoSwaps(ci.inner(), this));
                        else
                                throw runtimeException("Invalid class {0} 
specified in BeanContext.swaps property.  Must be a subclass of PojoSwap or 
Surrogate.", ci.inner());
                }
-               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]);
-               }
+               swapArray = _swaps.toArray(new PojoSwap[_swaps.size()]);
 
                cmCache = new ConcurrentHashMap<>();
                cmCache.put(String.class, new ClassMeta(String.class, this, 
findPojoSwaps(String.class), findChildPojoSwaps(String.class)));
@@ -1206,7 +1158,7 @@ public class BeanContext extends Context {
        /**
         * Bean package exclusions.
         *
-        * @see #BEAN_notBeanPackages
+        * @see BeanContextBuilder#notBeanPackages(String...)
         * @return
         *      The list of fully-qualified package names to exclude from being 
classified as beans.
         */
@@ -1217,7 +1169,7 @@ public class BeanContext extends Context {
        /**
         * Bean package exclusions.
         *
-        * @see #BEAN_notBeanPackages
+        * @see BeanContextBuilder#notBeanPackages(String...)
         * @return
         *      The list of package name prefixes to exclude from being 
classified as beans.
         */
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 95401b4..ff63ea9 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
@@ -69,6 +69,7 @@ public class BeanContextBuilder extends ContextBuilder {
        Visibility beanClassVisibility, beanConstructorVisibility, 
beanMethodVisibility, beanFieldVisibility;
        List<Class<?>> beanDictionary, swaps;
        Set<Class<?>> notBeanClasses;
+       Set<String> notBeanPackages;
        boolean disableBeansRequireSomeProperties, beanMapPutReturnsOldValue, 
beansRequireDefaultConstructor, beansRequireSerializable,
                beansRequireSettersForGetters, disableIgnoreTransientFields, 
disableIgnoreUnknownNullBeanProperties, disableIgnoreMissingSetters,
                disableInterfaceProxies, findFluentSetters, 
ignoreInvocationExceptionsOnGetters, ignoreInvocationExceptionsOnSetters,
@@ -92,6 +93,7 @@ public class BeanContextBuilder extends ContextBuilder {
                beanDictionary = null;
                swaps = null;
                notBeanClasses = null;
+               notBeanPackages = null;
                disableBeansRequireSomeProperties = 
env("BeanContext.disableBeansRequireSomeProperties", false);
                beanMapPutReturnsOldValue = 
env("BeanContext.beanMapPutReturnsOldValue", false);
                beansRequireDefaultConstructor = 
env("BeanContext.beansRequireDefaultConstructor", false);
@@ -128,6 +130,7 @@ public class BeanContextBuilder extends ContextBuilder {
                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);
+               notBeanPackages = copyFrom.notBeanPackages.isEmpty() ? null : 
new TreeSet<>(copyFrom.notBeanPackages);
                disableBeansRequireSomeProperties = ! 
copyFrom.beansRequireSomeProperties;
                beanMapPutReturnsOldValue = copyFrom.beanMapPutReturnsOldValue;
                beansRequireDefaultConstructor = 
copyFrom.beansRequireDefaultConstructor;
@@ -164,6 +167,7 @@ public class BeanContextBuilder extends ContextBuilder {
                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);
+               notBeanPackages = copyFrom.notBeanPackages == null ? null : new 
TreeSet<>(copyFrom.notBeanPackages);
                disableBeansRequireSomeProperties = 
copyFrom.disableBeansRequireSomeProperties;
                beanMapPutReturnsOldValue = copyFrom.beanMapPutReturnsOldValue;
                beansRequireDefaultConstructor = 
copyFrom.beansRequireDefaultConstructor;
@@ -204,6 +208,7 @@ public class BeanContextBuilder extends ContextBuilder {
                        beanDictionary,
                        swaps,
                        notBeanClasses,
+                       notBeanPackages,
                        integer(
                                disableBeansRequireSomeProperties,
                                beanMapPutReturnsOldValue,
@@ -2508,10 +2513,6 @@ public class BeanContextBuilder extends ContextBuilder {
         *              .build();
         * </p>
         *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link BeanContext#BEAN_notBeanPackages}
-        * </ul>
-        *
         * @param values
         *      The values to add to this setting.
         *      <br>Values can consist of any of the following types:
@@ -2523,24 +2524,35 @@ public class BeanContextBuilder extends ContextBuilder {
         * @return This object (for method chaining).
         */
        @FluentSetter
-       public BeanContextBuilder notBeanPackages(Object...values) {
-               for (Object o : values) {
-                       if (o instanceof Package)
-                               addTo(BEAN_notBeanPackages, ((Package) 
o).getName());
-                       else if (o instanceof String)
-                               addTo(BEAN_notBeanPackages, o.toString());
-                       else if (o instanceof Collection) {
-                               for (Object o2 : (Collection<?>)o)
-                                       notBeanPackages(o2);
-                       } else if (o.getClass().isArray()) {
-                               for (int i = 0; i < Array.getLength(o); i++)
-                                       notBeanPackages(Array.get(o, i));
-                       }
-               }
+       public BeanContextBuilder notBeanPackages(String...values) {
+               return notBeanPackages(asList(values));
+       }
+
+       /**
+        * Same as {@link #notBeanPackages(String...)} but allows you to pass 
in a collection of classes.
+        *
+        * @param values
+        *      The values to add to this setting.
+        * @return This object (for method chaining).
+        */
+       @FluentSetter
+       public BeanContextBuilder notBeanPackages(Collection<String> values) {
+               notBeanPackages().addAll(values);
                return this;
        }
 
        /**
+        * Returns the list of not-bean Java package names.
+        *
+        * @return The list of not-bean Java package names.
+        */
+       public Set<String> notBeanPackages() {
+               if (notBeanPackages == null)
+                       notBeanPackages = new TreeSet<>();
+               return notBeanPackages;
+       }
+
+       /**
         * Bean property namer
         *
         * <p>
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 0e8560e..928f069 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
@@ -2248,7 +2248,7 @@ public abstract class BeanContextableBuilder extends 
ContextBuilder {
         * </p>
         *
         * <ul class='seealso'>
-        *      <li class='jf'>{@link BeanContext#BEAN_notBeanPackages}
+        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanPackages(String...)}
         * </ul>
         *
         * @param values
@@ -2262,7 +2262,7 @@ public abstract class BeanContextableBuilder extends 
ContextBuilder {
         * @return This object (for method chaining).
         */
        @FluentSetter
-       public BeanContextableBuilder notBeanPackages(Object...values) {
+       public BeanContextableBuilder notBeanPackages(String...values) {
                bcBuilder.notBeanPackages(values);
                return this;
        }
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 49afb06..c2a1235 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
@@ -1455,7 +1455,7 @@ public class BeanSession extends Session {
        /**
         * Configuration property:  Bean package exclusions.
         *
-        * @see BeanContext#BEAN_notBeanPackages
+        * @see BeanContextBuilder#notBeanPackages(String...)
         * @return
         *      The list of fully-qualified package names to exclude from being 
classified as beans.
         */
@@ -1466,7 +1466,7 @@ public class BeanSession extends Session {
        /**
         * Configuration property:  Bean package exclusions.
         *
-        * @see BeanContext#BEAN_notBeanPackages
+        * @see BeanContextBuilder#notBeanPackages(String...)
         * @return
         *      The list of package name prefixes to exclude from being 
classified as 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 c98baab..5298c39 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
@@ -594,7 +594,7 @@ public abstract class BeanTraverseBuilder extends 
BeanContextableBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public BeanTraverseBuilder notBeanPackages(Object...values) {
+       public BeanTraverseBuilder notBeanPackages(String...values) {
                super.notBeanPackages(values);
                return this;
        }
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 98a2954..20840fe 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
@@ -707,7 +707,7 @@ public @interface BeanConfig {
         * </ul>
         *
         * <ul class='seealso'>
-        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanPackages(Object...)}
+        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanPackages(String...)}
         * </ul>
         */
        String[] notBeanPackages() default {};
@@ -719,7 +719,7 @@ public @interface BeanConfig {
         * Same as {@link #notBeanPackages()} but replaces any existing value.
         *
         * <ul class='seealso'>
-        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanPackages(Object...)}
+        *      <li class='jm'>{@link 
BeanContextBuilder#notBeanPackages(String...)}
         * </ul>
         */
        String[] notBeanPackages_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 3e9a162..1738db9 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
@@ -78,8 +78,8 @@ public class BeanConfigAnnotation {
                        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.addTo(BEAN_notBeanPackages, 
stringList(a.notBeanPackages()));
-                       b.setIfNotEmpty(BEAN_notBeanPackages, 
stringList(a.notBeanPackages_replace()));
+                       strings(a.notBeanPackages()).ifPresent(x -> 
b.notBeanPackages(x));
+                       strings(a.notBeanPackages_replace()).ifPresent(x -> 
{b.notBeanPackages().clear(); b.notBeanPackages(x);});
                }
        }
 }
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 1c19581..debbd4a 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
@@ -432,7 +432,7 @@ public class CsvParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvParserBuilder notBeanPackages(Object...values) {
+       public CsvParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 f41d2fa..451ee3b 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
@@ -444,7 +444,7 @@ public class CsvSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvSerializerBuilder notBeanPackages(Object...values) {
+       public CsvSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 3e85cb7..db12942 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
@@ -943,7 +943,7 @@ public class HtmlDocSerializerBuilder extends 
HtmlStrippedDocSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlDocSerializerBuilder notBeanPackages(Object...values) {
+       public HtmlDocSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 cecad8e..c87f81c 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
@@ -435,7 +435,7 @@ public class HtmlParserBuilder extends XmlParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlParserBuilder notBeanPackages(Object...values) {
+       public HtmlParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 84d4ac0..8f713f9 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
@@ -613,7 +613,7 @@ public class HtmlSchemaSerializerBuilder extends 
HtmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSchemaSerializerBuilder notBeanPackages(Object...values) {
+       public HtmlSchemaSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 db33fa9..4c2d5bf 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
@@ -832,7 +832,7 @@ public class HtmlSerializerBuilder extends 
XmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSerializerBuilder notBeanPackages(Object...values) {
+       public HtmlSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 98a29bc..63d4008 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
@@ -433,7 +433,7 @@ public class HtmlStrippedDocSerializerBuilder extends 
HtmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlStrippedDocSerializerBuilder 
notBeanPackages(Object...values) {
+       public HtmlStrippedDocSerializerBuilder 
notBeanPackages(String...values) {
                super.notBeanPackages(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 15089ee..1a782c1 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
@@ -431,7 +431,7 @@ public class JsoParserBuilder extends 
InputStreamParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoParserBuilder notBeanPackages(Object...values) {
+       public JsoParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 610cf60..3018895 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
@@ -443,7 +443,7 @@ public class JsoSerializerBuilder extends 
OutputStreamSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoSerializerBuilder notBeanPackages(Object...values) {
+       public JsoSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 87695b5..d015cc7 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
@@ -472,7 +472,7 @@ public class JsonParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonParserBuilder notBeanPackages(Object...values) {
+       public JsonParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 d4bb4aa..bfa7272 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
@@ -616,7 +616,7 @@ public class JsonSchemaSerializerBuilder extends 
JsonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSchemaSerializerBuilder notBeanPackages(Object...values) {
+       public JsonSchemaSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 ad97fd5..78b3663 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
@@ -586,7 +586,7 @@ public class JsonSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSerializerBuilder notBeanPackages(Object...values) {
+       public JsonSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 3f5af61..821f08f 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
@@ -696,7 +696,7 @@ public class JsonSchemaGeneratorBuilder extends 
BeanTraverseBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSchemaGeneratorBuilder notBeanPackages(Object...values) {
+       public JsonSchemaGeneratorBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 d0cfbb1..fba7694 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
@@ -431,7 +431,7 @@ public class MsgPackParserBuilder extends 
InputStreamParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackParserBuilder notBeanPackages(Object...values) {
+       public MsgPackParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 26173d0..0afed03 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
@@ -443,7 +443,7 @@ public class MsgPackSerializerBuilder extends 
OutputStreamSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackSerializerBuilder notBeanPackages(Object...values) {
+       public MsgPackSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 cafebef..91e5eb5 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
@@ -546,7 +546,7 @@ public class OpenApiParserBuilder extends UonParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiParserBuilder notBeanPackages(Object...values) {
+       public OpenApiParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 8bbda55..14bf242 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
@@ -569,7 +569,7 @@ public class OpenApiSerializerBuilder extends 
UonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiSerializerBuilder notBeanPackages(Object...values) {
+       public OpenApiSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 5996f95..1d1c7a7 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
@@ -463,7 +463,7 @@ public abstract class InputStreamParserBuilder extends 
ParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public InputStreamParserBuilder notBeanPackages(Object...values) {
+       public InputStreamParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 40ec7c4..afa9702 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
@@ -736,7 +736,7 @@ public abstract class ParserBuilder extends 
BeanContextableBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserBuilder notBeanPackages(Object...values) {
+       public ParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 b36aa53..99cb904 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
@@ -500,7 +500,7 @@ public abstract class ReaderParserBuilder extends 
ParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ReaderParserBuilder notBeanPackages(Object...values) {
+       public ReaderParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 b9d35f8..766f5b5 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
@@ -437,7 +437,7 @@ public class PlainTextParserBuilder extends 
ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextParserBuilder notBeanPackages(Object...values) {
+       public PlainTextParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 4f91fc5..f8d0961 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
@@ -444,7 +444,7 @@ public class PlainTextSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextSerializerBuilder notBeanPackages(Object...values) {
+       public PlainTextSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 d5a039c..e3072d9 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
@@ -477,7 +477,7 @@ public abstract class OutputStreamSerializerBuilder extends 
SerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OutputStreamSerializerBuilder notBeanPackages(Object...values) {
+       public OutputStreamSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 284ce55..a3cde89 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
@@ -996,7 +996,7 @@ public abstract class SerializerBuilder extends 
BeanTraverseBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerBuilder notBeanPackages(Object...values) {
+       public SerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 cdada02..c7ab869 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
@@ -710,7 +710,7 @@ public abstract class WriterSerializerBuilder extends 
SerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public WriterSerializerBuilder notBeanPackages(Object...values) {
+       public WriterSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 47070de..e3b58e7 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
@@ -464,7 +464,7 @@ public class SoapXmlSerializerBuilder extends 
XmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SoapXmlSerializerBuilder notBeanPackages(Object...values) {
+       public SoapXmlSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 f4ec3d4..20d4bfb 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
@@ -496,7 +496,7 @@ public class UonParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonParserBuilder notBeanPackages(Object...values) {
+       public UonParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 3919120..9465935 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
@@ -587,7 +587,7 @@ public class UonSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonSerializerBuilder notBeanPackages(Object...values) {
+       public UonSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 36212f9..c735e58 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
@@ -482,7 +482,7 @@ public class UrlEncodingParserBuilder extends 
UonParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingParserBuilder notBeanPackages(Object...values) {
+       public UrlEncodingParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 81283f3..eafdd4d 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
@@ -484,7 +484,7 @@ public class UrlEncodingSerializerBuilder extends 
UonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingSerializerBuilder notBeanPackages(Object...values) {
+       public UrlEncodingSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 530f77b..a135138 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
@@ -612,7 +612,7 @@ public class XmlParserBuilder extends ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlParserBuilder notBeanPackages(Object...values) {
+       public XmlParserBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 8d843f4..b0a0de7 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
@@ -596,7 +596,7 @@ public class XmlSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlSerializerBuilder notBeanPackages(Object...values) {
+       public XmlSerializerBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 fccdb43..1fc8de1 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
@@ -5082,7 +5082,7 @@ public class RestClientBuilder extends 
BeanContextableBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestClientBuilder notBeanPackages(Object...values) {
+       public RestClientBuilder notBeanPackages(String...values) {
                super.notBeanPackages(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 7faf816..ad0051e 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
@@ -585,7 +585,7 @@ public class MockRestClientBuilder extends 
RestClientBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MockRestClientBuilder notBeanPackages(Object...values) {
+       public MockRestClientBuilder notBeanPackages(String...values) {
                super.notBeanPackages(values);
                return this;
        }
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
index 7fde14f..d0daf23 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestAnnotation.java
@@ -1066,11 +1066,11 @@ public class RestAnnotation {
                        classes(a.parsers()).ifPresent(x -> b.parsers().add(x));
                        type(a.partSerializer()).ifPresent(x -> 
b.partSerializer().type(x));
                        type(a.partParser()).ifPresent(x -> 
b.partParser().type(x));
-                       strings(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
-                       strings(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
-                       strings(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> b.defaultRequestAttributes(x));
-                       strings(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders(x));
-                       strings(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders(x));
+                       stream(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
+                       stream(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
+                       stream(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> b.defaultRequestAttributes(x));
+                       stream(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders(x));
+                       stream(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders(x));
                        string(a.defaultAccept()).map(x -> 
accept(x)).ifPresent(x -> b.defaultRequestHeaders(x));
                        string(a.defaultContentType()).map(x -> 
contentType(x)).ifPresent(x -> b.defaultRequestHeaders(x));
                        b.responseProcessors().add(a.responseProcessors());
@@ -1121,8 +1121,8 @@ public class RestAnnotation {
                public void apply(AnnotationInfo<Rest> ai, RestOpContextBuilder 
b) {
                        Rest a = ai.getAnnotation();
 
-                       strings(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
-                       strings(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
+                       stream(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
+                       stream(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
                        b.converters().append(a.converters());
                        b.guards().append(a.guards());
                        
string(a.defaultCharset()).map(Charset::forName).ifPresent(x -> 
b.defaultCharset(x));
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
index 1086de1..4486c36 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDeleteAnnotation.java
@@ -471,16 +471,16 @@ public class RestDeleteAnnotation {
 
                        classes(a.encoders()).ifPresent(x -> 
b.encoders().set(x));
                        type(a.contextClass()).ifPresent(x -> b.type(x));
-                       strings(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
-                       strings(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
-                       strings(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
-                       strings(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
+                       stream(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
+                       stream(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
+                       stream(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
+                       stream(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
                        string(a.defaultAccept()).map(x -> 
accept(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        b.guards().append(a.guards());
                        b.matchers().append(a.matchers());
                        string(a.clientVersion()).ifPresent(x -> 
b.clientVersion(x));
                        
string(a.defaultCharset()).map(Charset::forName).ifPresent(x -> 
b.defaultCharset(x));
-                       strings(a.path()).forEach(x -> b.path(x));
+                       stream(a.path()).forEach(x -> b.path(x));
                        string(a.value()).ifPresent(x -> b.path(x));
                        strings_cdl(a.rolesDeclared()).forEach(x -> 
b.rolesDeclared(x));
                        string(a.roleGuard()).ifPresent(x -> b.roleGuard(x));
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
index 76c9e4b..3c8af43 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestGetAnnotation.java
@@ -529,18 +529,18 @@ public class RestGetAnnotation {
                        classes(a.serializers()).ifPresent(x -> 
b.serializers().set(x));
                        classes(a.encoders()).ifPresent(x -> 
b.encoders().set(x));
                        type(a.contextClass()).ifPresent(x -> b.type(x));
-                       strings(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
-                       strings(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
-                       strings(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
-                       strings(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
-                       strings(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
+                       stream(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
+                       stream(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
+                       stream(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
+                       stream(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
+                       stream(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
                        string(a.defaultAccept()).map(x -> 
accept(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        b.converters().append(a.converters());
                        b.guards().append(a.guards());
                        b.matchers().append(a.matchers());
                        string(a.clientVersion()).ifPresent(x -> 
b.clientVersion(x));
                        
string(a.defaultCharset()).map(Charset::forName).ifPresent(x -> 
b.defaultCharset(x));
-                       strings(a.path()).forEach(x -> b.path(x));
+                       stream(a.path()).forEach(x -> b.path(x));
                        string(a.value()).ifPresent(x -> b.path(x));
                        strings_cdl(a.rolesDeclared()).forEach(x -> 
b.rolesDeclared(x));
                        string(a.roleGuard()).ifPresent(x -> b.roleGuard(x));
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
index ffe7868..3f0e143 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestOpAnnotation.java
@@ -633,13 +633,13 @@ public class RestOpAnnotation {
                        classes(a.parsers()).ifPresent(x -> b.parsers().set(x));
                        classes(a.encoders()).ifPresent(x -> 
b.encoders().set(x));
                        type(a.contextClass()).ifPresent(x -> b.type(x));
-                       strings(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
-                       strings(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
-                       strings(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
-                       strings(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
-                       strings(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
-                       strings(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
-                       strings(a.defaultRequestFormData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestFormData().setDefault(x));
+                       stream(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
+                       stream(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
+                       stream(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
+                       stream(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
+                       stream(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
+                       stream(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
+                       stream(a.defaultRequestFormData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestFormData().setDefault(x));
                        string(a.defaultAccept()).map(x -> 
accept(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        string(a.defaultContentType()).map(x -> 
contentType(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        b.converters().append(a.converters());
@@ -648,7 +648,7 @@ public class RestOpAnnotation {
                        string(a.clientVersion()).ifPresent(x -> 
b.clientVersion(x));
                        
string(a.defaultCharset()).map(Charset::forName).ifPresent(x -> 
b.defaultCharset(x));
                        string(a.maxInput()).ifPresent(x -> b.maxInput(x));
-                       strings(a.path()).forEach(x -> b.path(x));
+                       stream(a.path()).forEach(x -> b.path(x));
                        strings_cdl(a.rolesDeclared()).forEach(x -> 
b.rolesDeclared(x));
                        string(a.roleGuard()).ifPresent(x -> b.roleGuard(x));
 
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
index 0e726c0..2248b05 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostAnnotation.java
@@ -617,13 +617,13 @@ public class RestPostAnnotation {
                        classes(a.parsers()).ifPresent(x -> b.parsers().set(x));
                        classes(a.encoders()).ifPresent(x -> 
b.encoders().set(x));
                        type(a.contextClass()).ifPresent(x -> b.type(x));
-                       strings(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
-                       strings(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
-                       strings(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
-                       strings(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
-                       strings(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
-                       strings(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
-                       strings(a.defaultRequestFormData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestFormData().setDefault(x));
+                       stream(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
+                       stream(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
+                       stream(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
+                       stream(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
+                       stream(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
+                       stream(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
+                       stream(a.defaultRequestFormData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestFormData().setDefault(x));
                        string(a.defaultAccept()).map(x -> 
accept(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        string(a.defaultContentType()).map(x -> 
contentType(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        b.converters().append(a.converters());
@@ -632,7 +632,7 @@ public class RestPostAnnotation {
                        string(a.clientVersion()).ifPresent(x -> 
b.clientVersion(x));
                        
string(a.defaultCharset()).map(Charset::forName).ifPresent(x -> 
b.defaultCharset(x));
                        string(a.maxInput()).ifPresent(x -> b.maxInput(x));
-                       strings(a.path()).forEach(x -> b.path(x));
+                       stream(a.path()).forEach(x -> b.path(x));
                        string(a.value()).ifPresent(x -> b.path(x));
                        strings_cdl(a.rolesDeclared()).forEach(x -> 
b.rolesDeclared(x));
                        string(a.roleGuard()).ifPresent(x -> b.roleGuard(x));
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
index 5162cf6..2e20f6a 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPutAnnotation.java
@@ -617,13 +617,13 @@ public class RestPutAnnotation {
                        classes(a.parsers()).ifPresent(x -> b.parsers().set(x));
                        classes(a.encoders()).ifPresent(x -> 
b.encoders().set(x));
                        type(a.contextClass()).ifPresent(x -> b.type(x));
-                       strings(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
-                       strings(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
-                       strings(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
-                       strings(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
-                       strings(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
-                       strings(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
-                       strings(a.defaultRequestFormData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestFormData().setDefault(x));
+                       stream(a.produces()).map(MediaType::of).forEach(x -> 
b.produces(x));
+                       stream(a.consumes()).map(MediaType::of).forEach(x -> 
b.consumes(x));
+                       stream(a.defaultRequestHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultRequestHeaders().setDefault(x));
+                       stream(a.defaultResponseHeaders()).map(x -> 
stringHeader(x)).forEach(x -> b.defaultResponseHeaders().setDefault(x));
+                       stream(a.defaultRequestAttributes()).map(x -> 
BasicNamedAttribute.ofPair(x)).forEach(x -> 
b.defaultRequestAttributes().add(x));
+                       stream(a.defaultRequestQueryData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestQueryData().setDefault(x));
+                       stream(a.defaultRequestFormData()).map(x -> 
basicPart(x)).forEach(x -> b.defaultRequestFormData().setDefault(x));
                        string(a.defaultAccept()).map(x -> 
accept(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        string(a.defaultContentType()).map(x -> 
contentType(x)).ifPresent(x -> b.defaultRequestHeaders().setDefault(x));
                        b.converters().append(a.converters());
@@ -632,7 +632,7 @@ public class RestPutAnnotation {
                        string(a.clientVersion()).ifPresent(x -> 
b.clientVersion(x));
                        
string(a.defaultCharset()).map(Charset::forName).ifPresent(x -> 
b.defaultCharset(x));
                        string(a.maxInput()).ifPresent(x -> b.maxInput(x));
-                       strings(a.path()).forEach(x -> b.path(x));
+                       stream(a.path()).forEach(x -> b.path(x));
                        string(a.value()).ifPresent(x -> b.path(x));
                        strings_cdl(a.rolesDeclared()).forEach(x -> 
b.rolesDeclared(x));
                        string(a.roleGuard()).ifPresent(x -> b.roleGuard(x));
diff --git a/juneau-utest/src/test/java/org/apache/juneau/BeanConfigTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
index 1dce142..b55b747 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/BeanConfigTest.java
@@ -760,9 +760,9 @@ public class BeanConfigTest {
                p2.notBeanPackages("baz");
                assertSameCache(p1, p2);
 
-               p1.removeFrom(BeanContext.BEAN_notBeanPackages, "bar");
+               p1.beanContext().notBeanPackages().remove("bar");
                assertDifferentCache(p1, p2);
-               p2.removeFrom(BeanContext.BEAN_notBeanPackages, "bar");
+               p2.beanContext().notBeanPackages().remove("bar");
                assertSameCache(p1, p2);
 
                p1.swaps(DummyPojoSwapA.class);
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java 
b/juneau-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java
index 3eee6be..4147375 100755
--- a/juneau-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/IgnoredClassesTest.java
@@ -46,15 +46,15 @@ public class IgnoredClassesTest {
                assertEquals("{f1:'isBean'}", s.build().serialize(a));
                s.notBeanPackages("org.apache.juneau");
                assertEquals("'isNotBean'", s.build().serialize(a));
-               s.removeFrom(BeanContext.BEAN_notBeanPackages, 
"org.apache.juneau");
+               s.beanContext().notBeanPackages().remove("org.apache.juneau");
                assertEquals("{f1:'isBean'}", s.build().serialize(a));
                s.notBeanPackages("org.apache.juneau.*");
                assertEquals("'isNotBean'", s.build().serialize(a));
-               s.removeFrom(BeanContext.BEAN_notBeanPackages, 
"org.apache.juneau.*");
+               s.beanContext().notBeanPackages().remove("org.apache.juneau.*");
                assertEquals("{f1:'isBean'}", s.build().serialize(a));
                s.notBeanPackages("org.apache.juneau.*");
                assertEquals("'isNotBean'", s.build().serialize(a));
-               s.removeFrom(BeanContext.BEAN_notBeanPackages, 
"org.apache.juneau.*");
+               s.beanContext().notBeanPackages().remove("org.apache.juneau.*");
                assertEquals("{f1:'isBean'}", s.build().serialize(a));
                s.notBeanPackages("org.apache.juneau");
                assertEquals("'isNotBean'", s.build().serialize(a));
diff --git 
a/juneau-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 873e2a3..8b9b91e 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
@@ -169,7 +169,7 @@ public class BeanConfigAnnotation_Test {
                check("en_US", bc.getLocale());
                check("application/json", bc.getMediaType());
                
check("A1,A2,A3,Map,Collection,Reader,Writer,InputStream,OutputStream,Throwable",
 bc.getNotBeanClasses());
-               check("foo1,foo2,foo3", bc.getNotBeanPackagesNames());
+               
check("foo1,foo2,foo3,java.lang,java.lang.annotation,java.lang.ref,java.lang.reflect,java.io,java.net",
 bc.getNotBeanPackagesNames());
                
check("AB1<String,Integer>,AB2<String,Integer>,AB3<String,Integer>", 
bc.getSwaps());
                check("PropertyNamerULC", bc.getPropertyNamer());
                check("true", bc.isSortProperties());
diff --git 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
index abaaa56..605028e 100644
--- 
a/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
+++ 
b/juneau-utest/src/test/java/org/apache/juneau/rest/client/RestClient_Config_BeanContext_Test.java
@@ -834,7 +834,7 @@ public class RestClient_Config_BeanContext_Test {
 
        @Test
        public void a29_notBeanPackages() throws Exception {
-               A28 x = 
client().notBeanPackages(A28.class.getPackage()).build().post("/echoBody",A28.get()).run().cacheBody().assertBody().is("'1'").getBody().asType(A28.class);
+               A28 x = 
client().notBeanPackages(A28.class.getPackage().getName()).build().post("/echoBody",A28.get()).run().cacheBody().assertBody().is("'1'").getBody().asType(A28.class);
                assertEquals(1,x.foo);
        }
 

Reply via email to