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 5236c3a  JUNEAU-228
5236c3a is described below

commit 5236c3a1044700eb02b3afdaa542df15a046a82b
Author: JamesBognar <james.bog...@salesforce.com>
AuthorDate: Tue May 12 19:45:35 2020 -0400

    JUNEAU-228
    
    Make it easier to create bean filters programmatically.
---
 .../org/apache/juneau/a/rttests/RoundTripTest.java |   6 +-
 .../org/apache/juneau/jena/RdfParserBuilder.java   |  18 --
 .../apache/juneau/jena/RdfSerializerBuilder.java   |  18 --
 .../main/java/org/apache/juneau/BeanContext.java   |  31 ++-
 .../java/org/apache/juneau/BeanContextBuilder.java | 114 +++------
 .../org/apache/juneau/BeanTraverseBuilder.java     |  18 --
 .../org/apache/juneau/csv/CsvParserBuilder.java    |  18 --
 .../apache/juneau/csv/CsvSerializerBuilder.java    |  18 --
 .../juneau/html/HtmlDocSerializerBuilder.java      |  18 --
 .../org/apache/juneau/html/HtmlParserBuilder.java  |  18 --
 .../juneau/html/HtmlSchemaSerializerBuilder.java   |  18 --
 .../apache/juneau/html/HtmlSerializerBuilder.java  |  18 --
 .../html/HtmlStrippedDocSerializerBuilder.java     |  18 --
 .../org/apache/juneau/jso/JsoParserBuilder.java    |  18 --
 .../apache/juneau/jso/JsoSerializerBuilder.java    |  18 --
 .../org/apache/juneau/json/JsonParserBuilder.java  |  18 --
 .../juneau/json/JsonSchemaSerializerBuilder.java   |  18 --
 .../apache/juneau/json/JsonSerializerBuilder.java  |  18 --
 .../juneau/json/SimpleJsonParserBuilder.java       |  18 --
 .../juneau/json/SimpleJsonSerializerBuilder.java   |  18 --
 .../jsonschema/JsonSchemaGeneratorBuilder.java     |  18 --
 .../juneau/msgpack/MsgPackParserBuilder.java       |  18 --
 .../juneau/msgpack/MsgPackSerializerBuilder.java   |  18 --
 .../apache/juneau/oapi/OpenApiParserBuilder.java   |  18 --
 .../apache/juneau/oapi/OpenApiParserSession.java   |   4 +-
 .../juneau/oapi/OpenApiSerializerBuilder.java      |  18 --
 .../juneau/parser/InputStreamParserBuilder.java    |  18 --
 .../org/apache/juneau/parser/ParserBuilder.java    |  18 --
 .../apache/juneau/parser/ParserGroupBuilder.java   |  18 --
 .../apache/juneau/parser/ReaderParserBuilder.java  |  18 --
 .../juneau/plaintext/PlainTextParserBuilder.java   |  18 --
 .../plaintext/PlainTextSerializerBuilder.java      |  18 --
 .../serializer/OutputStreamSerializerBuilder.java  |  18 --
 .../juneau/serializer/SerializerBuilder.java       |  18 --
 .../juneau/serializer/SerializerGroupBuilder.java  |  18 --
 .../juneau/serializer/WriterSerializerBuilder.java |  18 --
 .../juneau/soap/SoapXmlSerializerBuilder.java      |  18 --
 .../org/apache/juneau/transform/BeanFilter.java    |  11 +
 .../org/apache/juneau/uon/UonParserBuilder.java    |  18 --
 .../apache/juneau/uon/UonSerializerBuilder.java    |  18 --
 .../urlencoding/UrlEncodingParserBuilder.java      |  18 --
 .../urlencoding/UrlEncodingSerializerBuilder.java  |  18 --
 .../org/apache/juneau/xml/XmlParserBuilder.java    |  18 --
 .../apache/juneau/xml/XmlSerializerBuilder.java    |  18 --
 .../xmlschema/XmlSchemaSerializerBuilder.java      |  18 --
 juneau-doc/docs/ReleaseNotes/8.1.4.html            |   9 +
 .../apache/juneau/rest/client2/RestClientTest.java | 263 ++++++++++++++-------
 .../juneau/rest/client/RestClientBuilder.java      |  18 --
 .../juneau/rest/client2/RestClientBuilder.java     |  18 --
 .../apache/juneau/rest/mock2/MockRestClient.java   |  18 --
 .../org/apache/juneau/rest/jaxrs/BaseProvider.java |   4 +-
 .../org/apache/juneau/rest/RestContextBuilder.java |  18 --
 52 files changed, 255 insertions(+), 979 deletions(-)

diff --git 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
index 1362570..51e9f26 100755
--- 
a/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
+++ 
b/juneau-core/juneau-core-utest/src/test/java/org/apache/juneau/a/rttests/RoundTripTest.java
@@ -206,8 +206,8 @@ public abstract class RoundTripTest {
        }
 
 
-       public Class<?>[] getBeanFilters() {
-               return new Class<?>[0];
+       public Object[] getBeanFilters() {
+               return new Object[0];
        }
 
        public Class<?>[] getPojoSwaps() {
@@ -254,7 +254,7 @@ public abstract class RoundTripTest {
                return p;
        }
 
-       protected void beanFilters(Class<?>...c) {
+       protected void beanFilters(Object...c) {
                s = s.builder().beanFilters(c).build();
                if (p != null)
                        p = p.builder().beanFilters(c).build();
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 6702c9a..4d2aaa6 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
@@ -913,36 +913,18 @@ public class RdfParserBuilder extends ReaderParserBuilder 
{
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RdfParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfParserBuilder beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RdfParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfParserBuilder beanFiltersReplace(java.lang.Class<?>...values) 
{
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RdfParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 ec9040a..8269c9c 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
@@ -1073,36 +1073,18 @@ public class RdfSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfSerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RdfSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RdfSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RdfSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RdfSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 f028963..1a0dd40 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
@@ -492,8 +492,8 @@ public class BeanContext extends Context implements 
MetaProvider {
         * <h5 class='section'>Property:</h5>
         * <ul class='spaced-list'>
         *      <li><b>ID:</b>  {@link 
org.apache.juneau.BeanContext#BEAN_beanFilters BEAN_beanFilters}
-        *      <li><b>Name:</b>  <js>"BeanContext.beanFilters.lc"</js>
-        *      <li><b>Data type:</b>  <c>List&lt;Class&gt;</c>
+        *      <li><b>Name:</b>  <js>"BeanContext.beanFilters.lo"</js>
+        *      <li><b>Data type:</b>  <c>List&lt;Object&gt;</c>
         *      <li><b>Default:</b>  empty list
         *      <li><b>Session property:</b>  <jk>false</jk>
         *      <li><b>Annotations:</b>
@@ -520,8 +520,9 @@ public class BeanContext extends Context implements 
MetaProvider {
         * <p>
         * Values can consist of any of the following types:
         * <ul class='spaced-list'>
-        *      <li>Any subclass of {@link BeanFilterBuilder}.
+        *      <li>Any subclass or instance of {@link BeanFilterBuilder}.
         *              <br>These must have a public no-arg constructor.
+        *      <li>Any instance of {@link BeanFilter}.
         *      <li>Any bean interfaces.
         *              <br>A shortcut for defining a {@link 
InterfaceBeanFilterBuilder}.
         *              <br>Any subclasses of an interface class will only have 
properties defined on the interface.
@@ -551,6 +552,12 @@ public class BeanContext extends Context implements 
MetaProvider {
         *              .<jsm>create</jsm>()
         *              .addTo(<jsf>BEAN_beanFilters</jsf>, 
MyBeanFilter.<jk>class</jk>)
         *              .build();
+        *
+        *      <jc>// Same but pass in constructed filter.</jc>
+        *      WriterSerializer s = JsonSerializer
+        *              .<jsm>create</jsm>()
+        *              
.beanFilters(BeanFilter.<jsm>create</jsm>(MyBeanFilter.<jk>class</jk>).bpi(<js>"foo,bar,baz"</js>).build())
+        *              .build();
         * </p>
         *
         * <ul class='seealso'>
@@ -558,17 +565,17 @@ public class BeanContext extends Context implements 
MetaProvider {
         *      <li class='link'>{@doc 
juneau-marshall.Transforms.InterfaceFilters}
         * </ul>
         */
-       public static final String BEAN_beanFilters = PREFIX + 
".beanFilters.lc";
+       public static final String BEAN_beanFilters = PREFIX + 
".beanFilters.lo";
 
        /**
         * Configuration property:  Add to bean filters.
         */
-       public static final String BEAN_beanFilters_add = PREFIX + 
".beanFilters.lc/add";
+       public static final String BEAN_beanFilters_add = PREFIX + 
".beanFilters.lo/add";
 
        /**
         * Configuration property:  Remove from bean filters.
         */
-       public static final String BEAN_beanFilters_remove = PREFIX + 
".beanFilters.lc/remove";
+       public static final String BEAN_beanFilters_remove = PREFIX + 
".beanFilters.lo/remove";
 
        /**
         * Configuration property:  BeanMap.put() returns old property value.
@@ -2529,14 +2536,14 @@ public class BeanContext extends Context implements 
MetaProvider {
                notBeanPackagePrefixes = l2.toArray(new String[l2.size()]);
 
                LinkedList<BeanFilter> lbf = new LinkedList<>();
-               for (Class<?> c : getClassListProperty(BEAN_beanFilters)) {
-                       ClassInfo ci = ClassInfo.of(c);
+               for (Object o : getListProperty(BEAN_beanFilters, 
Object[].class)) {
+                       ClassInfo ci = o instanceof Class ? 
ClassInfo.of((Class)o) : ClassInfo.of(o);
                        if (ci.isChildOf(BeanFilter.class))
-                               lbf.add(castOrCreate(BeanFilter.class, c));
+                               lbf.add(castOrCreate(BeanFilter.class, o));
                        else if (ci.isChildOf(BeanFilterBuilder.class))
-                               lbf.add(castOrCreate(BeanFilterBuilder.class, 
c).build());
-                       else
-                               lbf.add(new InterfaceBeanFilterBuilder(c, 
this).build());
+                               lbf.add(castOrCreate(BeanFilterBuilder.class, 
o).build());
+                       else if (o instanceof Class)
+                               lbf.add(new 
InterfaceBeanFilterBuilder((Class<?>)o, this).build());
                }
                beanFilters = lbf.toArray(new BeanFilter[0]);
 
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 ad95cb1..29c5f85 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
@@ -399,11 +399,16 @@ public class BeanContextBuilder extends ContextBuilder {
         *
         * @param values
         *      The values to add to this property.
-        *      <br>Values can consist of any of the following types:
-        *      <ul>
-        *              <li>Any bean class that specifies a value for {@link 
Bean#typeName() @Bean(typeName)}.
-        *              <li>Any subclass of {@link BeanDictionaryList} 
containing a collection of bean classes with type name annotations.
-        *              <li>Any subclass of {@link BeanDictionaryMap} 
containing a mapping of type names to classes without type name annotations.
+        *      <p>
+        *      Values can consist of any of the following types:
+        *      <ul class='spaced-list'>
+        *              <li>Any subclass or instance of {@link 
BeanFilterBuilder}.
+        *                      <br>These must have a public no-arg constructor 
when a class.
+        *              <li>Any instance of {@link BeanFilter}.
+        *              <li>Any bean interfaces.
+        *                      <br>A shortcut for defining a {@link 
InterfaceBeanFilterBuilder}.
+        *                      <br>Any subclasses of an interface class will 
only have properties defined on the interface.
+        *                      All other bean properties will be ignored.
         *              <li>Any array or collection of the objects above.
         *      </ul>
         * @return This object (for method chaining).
@@ -417,25 +422,6 @@ public class BeanContextBuilder extends ContextBuilder {
         * Configuration property:  Bean filters.
         *
         * <p>
-        * Same as {@link #beanFilters(Object...)} but takes in an array of 
classes.
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link BeanContext#BEAN_beanFilters}
-        * </ul>
-        *
-        * @param values
-        *      The values to add to this property.
-        * @return This object (for method chaining).
-        */
-       @ConfigurationProperty
-       public BeanContextBuilder beanFilters(Class<?>...values) {
-               return prependTo(BEAN_beanFilters, values);
-       }
-
-       /**
-        * Configuration property:  Bean filters.
-        *
-        * <p>
         * Same as {@link #beanFilters(Object...)} but replaces the existing 
values.
         *
         * <ul class='seealso'>
@@ -444,36 +430,16 @@ public class BeanContextBuilder extends ContextBuilder {
         *
         * @param values
         *      The new values for this property.
-        *      <br>Values can consist of any of the following types:
-        *      <ul>
-        *              <li>Any bean class that specifies a value for {@link 
Bean#typeName() @Bean(typeName)}.
-        *              <li>Any subclass of {@link BeanDictionaryList} 
containing a collection of bean classes with type name annotations.
-        *              <li>Any subclass of {@link BeanDictionaryMap} 
containing a mapping of type names to classes without type name annotations.
-        *      </ul>
-        * @return This object (for method chaining).
-        */
-       @ConfigurationProperty
-       public BeanContextBuilder beanFiltersReplace(Class<?>...values) {
-               return set(BEAN_beanFilters, values);
-       }
-
-       /**
-        * Configuration property:  Bean filters.
-        *
-        * <p>
-        * Same as {@link #beanFilters(Object...)} but replaces the existing 
values.
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link BeanContext#BEAN_beanFilters}
-        * </ul>
-        *
-        * @param values
-        *      The new values for this property.
-        *      <br>Values can consist of any of the following types:
-        *      <ul>
-        *              <li>Any bean class that specifies a value for {@link 
Bean#typeName() @Bean(typeName)}.
-        *              <li>Any subclass of {@link BeanDictionaryList} 
containing a collection of bean classes with type name annotations.
-        *              <li>Any subclass of {@link BeanDictionaryMap} 
containing a mapping of type names to classes without type name annotations.
+        *      <p>
+        *      Values can consist of any of the following types:
+        *      <ul class='spaced-list'>
+        *              <li>Any subclass or instance of {@link 
BeanFilterBuilder}.
+        *                      <br>These must have a public no-arg constructor 
when a class.
+        *              <li>Any instance of {@link BeanFilter}.
+        *              <li>Any bean interfaces.
+        *                      <br>A shortcut for defining a {@link 
InterfaceBeanFilterBuilder}.
+        *                      <br>Any subclasses of an interface class will 
only have properties defined on the interface.
+        *                      All other bean properties will be ignored.
         *              <li>Any array or collection of the objects above.
         *      </ul>
         * @return This object (for method chaining).
@@ -495,36 +461,16 @@ public class BeanContextBuilder extends ContextBuilder {
         *
         * @param values
         *      The values to remove from this property.
-        *      <br>Values can consist of any of the following types:
-        *      <ul>
-        *              <li>Any bean class that specifies a value for {@link 
Bean#typeName() @Bean(typeName)}.
-        *              <li>Any subclass of {@link BeanDictionaryList} 
containing a collection of bean classes with type name annotations.
-        *              <li>Any subclass of {@link BeanDictionaryMap} 
containing a mapping of type names to classes without type name annotations.
-        *      </ul>
-        * @return This object (for method chaining).
-        */
-       @ConfigurationProperty
-       public BeanContextBuilder beanFiltersRemove(Class<?>...values) {
-               return removeFrom(BEAN_beanFilters, values);
-       }
-
-       /**
-        * Configuration property:  Bean filters.
-        *
-        * <p>
-        * Removes from the list of classes that make up the bean filters in 
this bean context.
-        *
-        * <ul class='seealso'>
-        *      <li class='jf'>{@link BeanContext#BEAN_beanFilters}
-        * </ul>
-        *
-        * @param values
-        *      The values to remove from this property.
-        *      <br>Values can consist of any of the following types:
-        *      <ul>
-        *              <li>Any bean class that specifies a value for {@link 
Bean#typeName() @Bean(typeName)}.
-        *              <li>Any subclass of {@link BeanDictionaryList} 
containing a collection of bean classes with type name annotations.
-        *              <li>Any subclass of {@link BeanDictionaryMap} 
containing a mapping of type names to classes without type name annotations.
+        *      <p>
+        *      Values can consist of any of the following types:
+        *      <ul class='spaced-list'>
+        *              <li>Any subclass or instance of {@link 
BeanFilterBuilder}.
+        *                      <br>These must have a public no-arg constructor 
when a class.
+        *              <li>Any instance of {@link BeanFilter}.
+        *              <li>Any bean interfaces.
+        *                      <br>A shortcut for defining a {@link 
InterfaceBeanFilterBuilder}.
+        *                      <br>Any subclasses of an interface class will 
only have properties defined on the interface.
+        *                      All other bean properties will be ignored.
         *              <li>Any array or collection of the objects above.
         *      </ul>
         * @return This object (for method chaining).
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 03d81f0..7dbac99 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
@@ -417,36 +417,18 @@ public class BeanTraverseBuilder extends 
BeanContextBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public BeanTraverseBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public BeanTraverseBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public BeanTraverseBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public BeanTraverseBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public BeanTraverseBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public BeanTraverseBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
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 17b5bc4..1a6bbe3 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
@@ -194,36 +194,18 @@ public class CsvParserBuilder extends ReaderParserBuilder 
{
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public CsvParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvParserBuilder beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public CsvParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvParserBuilder beanFiltersReplace(java.lang.Class<?>...values) 
{
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public CsvParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 edaa35e..4ef0cb5 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
@@ -194,36 +194,18 @@ public class CsvSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvSerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public CsvSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public CsvSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public CsvSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public CsvSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 87ae567..bf26bf0 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
@@ -720,36 +720,18 @@ public class HtmlDocSerializerBuilder extends 
HtmlStrippedDocSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlDocSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlDocSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlDocSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlDocSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlDocSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlDocSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 e933257..dbb7ba9 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
@@ -197,36 +197,18 @@ public class HtmlParserBuilder extends XmlParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlParserBuilder beanFiltersRemove(java.lang.Class<?>...values) 
{
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 bc3ea60..38a2c6f 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
@@ -435,36 +435,18 @@ public class HtmlSchemaSerializerBuilder extends 
HtmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSchemaSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlSchemaSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSchemaSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlSchemaSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSchemaSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlSchemaSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 20b2d8b..ac79466 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
@@ -368,36 +368,18 @@ public class HtmlSerializerBuilder extends 
XmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 a58259a..9ab1325 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
@@ -194,36 +194,18 @@ public class HtmlStrippedDocSerializerBuilder extends 
HtmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlStrippedDocSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlStrippedDocSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlStrippedDocSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlStrippedDocSerializerBuilder 
beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public HtmlStrippedDocSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public HtmlStrippedDocSerializerBuilder 
beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 6504a45..a5c8a87 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
@@ -193,36 +193,18 @@ public class JsoParserBuilder extends 
InputStreamParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsoParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoParserBuilder beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsoParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoParserBuilder beanFiltersReplace(java.lang.Class<?>...values) 
{
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsoParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 ef90fc2..fb2007e 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
@@ -193,36 +193,18 @@ public class JsoSerializerBuilder extends 
OutputStreamSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoSerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsoSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsoSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsoSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsoSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 359a6f9..9548d9c 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
@@ -235,36 +235,18 @@ public class JsonParserBuilder extends 
ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonParserBuilder beanFiltersRemove(java.lang.Class<?>...values) 
{
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 e728f99..36d5317 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
@@ -576,36 +576,18 @@ public class JsonSchemaSerializerBuilder extends 
JsonSerializerBuilder {
        }
 
        @Override /* BeanContextBuilder */
-       public JsonSchemaSerializerBuilder beanFilters(Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public JsonSchemaSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* BeanContextBuilder */
-       public JsonSchemaSerializerBuilder 
beanFiltersReplace(Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public JsonSchemaSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
        }
 
        @Override /* BeanContextBuilder */
-       public JsonSchemaSerializerBuilder beanFiltersRemove(Class<?>...values) 
{
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public JsonSchemaSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(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 e25b230..e0644f6 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
@@ -290,36 +290,18 @@ public class JsonSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
index 946ee68..8515b60 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonParserBuilder.java
@@ -193,36 +193,18 @@ public class SimpleJsonParserBuilder extends 
JsonParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SimpleJsonParserBuilder beanFilters(java.lang.Class<?>...values) 
{
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SimpleJsonParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SimpleJsonParserBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SimpleJsonParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SimpleJsonParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SimpleJsonParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
index e563835..a4a2ea3 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/json/SimpleJsonSerializerBuilder.java
@@ -193,36 +193,18 @@ public class SimpleJsonSerializerBuilder extends 
JsonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SimpleJsonSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SimpleJsonSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SimpleJsonSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SimpleJsonSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SimpleJsonSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SimpleJsonSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 7a4ab74..9b2d4b4 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
@@ -469,36 +469,18 @@ public class JsonSchemaGeneratorBuilder extends 
BeanTraverseBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSchemaGeneratorBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonSchemaGeneratorBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSchemaGeneratorBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonSchemaGeneratorBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public JsonSchemaGeneratorBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public JsonSchemaGeneratorBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 d0fbb17..4bcc979 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
@@ -193,36 +193,18 @@ public class MsgPackParserBuilder extends 
InputStreamParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MsgPackParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackParserBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MsgPackParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MsgPackParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 14548bb..4e413a4 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
@@ -193,36 +193,18 @@ public class MsgPackSerializerBuilder extends 
OutputStreamSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MsgPackSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MsgPackSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MsgPackSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MsgPackSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 02d234a..add601a 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
@@ -268,36 +268,18 @@ public class OpenApiParserBuilder extends 
UonParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OpenApiParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiParserBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OpenApiParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OpenApiParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
index d31be36..bc769b5 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/oapi/OpenApiParserSession.java
@@ -297,7 +297,7 @@ public class OpenApiParserSession extends UonParserSession {
                                }
 
                                if (type.isBean()) {
-                                       BeanMap<T> m = 
BC.createBeanSession().newBeanMap(type.getInnerClass());
+                                       BeanMap<T> m = 
ctx.createBeanSession().newBeanMap(type.getInnerClass());
                                        for (String s : ss) {
                                                String[] kv = split(s, '=', 2);
                                                if (kv.length != 2)
@@ -305,7 +305,7 @@ public class OpenApiParserSession extends UonParserSession {
                                                String key = kv[0], value = 
kv[1];
                                                BeanPropertyMeta bpm = 
m.getPropertyMeta(key);
                                                if (bpm == null && ! 
isIgnoreUnknownBeanProperties())
-                                                       throw new 
ParseException("Invalid input {0} for part type OBJECT.", in);
+                                                       throw new 
ParseException("Invalid input {0} for part type OBJECT.  Cannot find property 
{1}", in, key);
                                                m.put(key, parse(partType, 
schema.getProperty(key), value, bpm == null ? object() : bpm.getClassMeta()));
                                        }
                                        return m.getBean();
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 15500fe..3ec4ab2 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
@@ -268,36 +268,18 @@ public class OpenApiSerializerBuilder extends 
UonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OpenApiSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OpenApiSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OpenApiSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OpenApiSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 c77e640..9f43f56 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
@@ -232,36 +232,18 @@ public class InputStreamParserBuilder extends 
ParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public InputStreamParserBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public InputStreamParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public InputStreamParserBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public InputStreamParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public InputStreamParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public InputStreamParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 8cb78a1..f8761bb 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
@@ -379,36 +379,18 @@ public class ParserBuilder extends BeanContextBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserBuilder beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserBuilder beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
index 9f372f4..0bbeb3a 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/parser/ParserGroupBuilder.java
@@ -511,36 +511,18 @@ public class ParserGroupBuilder extends 
BeanContextBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserGroupBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ParserGroupBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserGroupBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ParserGroupBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ParserGroupBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ParserGroupBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 821eb12..e687cac 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
@@ -231,36 +231,18 @@ public abstract class ReaderParserBuilder extends 
ParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ReaderParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ReaderParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ReaderParserBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ReaderParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public ReaderParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public ReaderParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 8eec34e..5473c38 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
@@ -194,36 +194,18 @@ public class PlainTextParserBuilder extends 
ReaderParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public PlainTextParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextParserBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public PlainTextParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public PlainTextParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 132682e..34301af 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
@@ -194,36 +194,18 @@ public class PlainTextSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public PlainTextSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public PlainTextSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public PlainTextSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public PlainTextSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 5926481..1a76904 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
@@ -232,36 +232,18 @@ public class OutputStreamSerializerBuilder extends 
SerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OutputStreamSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OutputStreamSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OutputStreamSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OutputStreamSerializerBuilder beanFiltersRemove(Object...values) 
{
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public OutputStreamSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public OutputStreamSerializerBuilder 
beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 76e6557..0ff6ac0 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
@@ -688,36 +688,18 @@ public class SerializerBuilder extends 
BeanTraverseBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerBuilder beanFiltersRemove(java.lang.Class<?>...values) 
{
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
index 640137a..c656183 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/serializer/SerializerGroupBuilder.java
@@ -817,36 +817,18 @@ public class SerializerGroupBuilder extends 
BeanTraverseBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerGroupBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SerializerGroupBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerGroupBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SerializerGroupBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SerializerGroupBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SerializerGroupBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 1cf054d..e3bfa55 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
@@ -347,36 +347,18 @@ public class WriterSerializerBuilder extends 
SerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public WriterSerializerBuilder beanFilters(java.lang.Class<?>...values) 
{
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public WriterSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public WriterSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public WriterSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public WriterSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public WriterSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 1ef2500..117a2c0 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
@@ -214,36 +214,18 @@ public class SoapXmlSerializerBuilder extends 
XmlSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SoapXmlSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SoapXmlSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SoapXmlSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SoapXmlSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public SoapXmlSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public SoapXmlSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
index ce39e6d..e8fb305 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/transform/BeanFilter.java
@@ -70,6 +70,17 @@ public final class BeanFilter {
        }
 
        /**
+        * Static creator.
+        *
+        * @param <T> The class being filtered.
+        * @param c The class being filtered.
+        * @return A new instance of BeanFilterBuilder.
+        */
+       public static <T> BeanFilterBuilder<T> create(Class<T> c) {
+               return new BeanFilterBuilder<>(c);
+       }
+
+       /**
         * Returns the bean class that this filter applies to.
         *
         * @return The bean class that this filter applies to.
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 6d9bf8c..a356239 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
@@ -274,36 +274,18 @@ public class UonParserBuilder extends ReaderParserBuilder 
{
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UonParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonParserBuilder beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UonParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonParserBuilder beanFiltersReplace(java.lang.Class<?>...values) 
{
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UonParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 e5070ee..21fb8a5 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
@@ -291,36 +291,18 @@ public class UonSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonSerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UonSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UonSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UonSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UonSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 9fbcc06..c51dc20 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
@@ -234,36 +234,18 @@ public class UrlEncodingParserBuilder extends 
UonParserBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingParserBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UrlEncodingParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingParserBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UrlEncodingParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingParserBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UrlEncodingParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 4394277..5d7eab1 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
@@ -235,36 +235,18 @@ public class UrlEncodingSerializerBuilder extends 
UonSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingSerializerBuilder 
beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UrlEncodingSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UrlEncodingSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public UrlEncodingSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public UrlEncodingSerializerBuilder beanFiltersReplace(Object...values) 
{
                super.beanFiltersReplace(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 d84664c..2ef1fd5 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
@@ -384,36 +384,18 @@ public class XmlParserBuilder extends ReaderParserBuilder 
{
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlParserBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public XmlParserBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlParserBuilder beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public XmlParserBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlParserBuilder beanFiltersReplace(java.lang.Class<?>...values) 
{
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public XmlParserBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(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 f38555d..c9a82b9 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
@@ -425,36 +425,18 @@ public class XmlSerializerBuilder extends 
WriterSerializerBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlSerializerBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public XmlSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlSerializerBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public XmlSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public XmlSerializerBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public XmlSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
index 11a6d00..54c4f88 100644
--- 
a/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
+++ 
b/juneau-core/juneau-marshall/src/main/java/org/apache/juneau/xmlschema/XmlSchemaSerializerBuilder.java
@@ -363,36 +363,18 @@ public class XmlSchemaSerializerBuilder extends 
XmlSerializerBuilder {
        }
 
        @Override /* BeanContextBuilder */
-       public XmlSchemaSerializerBuilder beanFilters(Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public XmlSchemaSerializerBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* BeanContextBuilder */
-       public XmlSchemaSerializerBuilder beanFiltersReplace(Class<?>...values) 
{
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public XmlSchemaSerializerBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
        }
 
        @Override /* BeanContextBuilder */
-       public XmlSchemaSerializerBuilder beanFiltersRemove(Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public XmlSchemaSerializerBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
diff --git a/juneau-doc/docs/ReleaseNotes/8.1.4.html 
b/juneau-doc/docs/ReleaseNotes/8.1.4.html
index 24cd054..5607ab6 100644
--- a/juneau-doc/docs/ReleaseNotes/8.1.4.html
+++ b/juneau-doc/docs/ReleaseNotes/8.1.4.html
@@ -226,6 +226,15 @@
                HTML-Schema support is being deprecated due to low-use and 
difficulty in maintaining.  It will be removed in 9.0.
        <li>
                <c>JuneauLogger</c> class is being deprecated.  Improvements in 
logging in Java 8 make it obsolete.
+       <li>
+               Bean filters can now be specified programmatically through a 
builder API.
+               <p class='bpcode w800'>
+       <jc>// Create a JSON serializer that only includes specified fields on 
a specific class.</jc>
+       WriterSerializer s = JsonSerializer
+               .<jsm>create</jsm>()
+               
.beanFilters(BeanFilter.<jsm>create</jsm>(MyBean.<jk>class</jk>).bpi(<js>"foo,bar,baz"</js>).build())
+               .build();
+               </p>
 </ul>
 
 <h5 class='topic w800'>juneau-rest-server</h5>
diff --git 
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
 
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
index cd95e95..deb252e 100644
--- 
a/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
+++ 
b/juneau-rest/juneau-rest-client-utest/src/test/java/org/apache/juneau/rest/client2/RestClientTest.java
@@ -48,6 +48,7 @@ import org.apache.juneau.rest.client2.RestRequest;
 import org.apache.juneau.rest.client2.RestResponse;
 import org.apache.juneau.rest.mock2.*;
 import org.apache.juneau.serializer.*;
+import org.apache.juneau.transform.*;
 import org.apache.juneau.xml.*;
 import org.junit.*;
 import org.junit.runners.*;
@@ -2939,12 +2940,12 @@ public class RestClientTest {
        // BeanContext properties
        
//-----------------------------------------------------------------------------------------------------------------
 
-       protected static class O001 {
+       protected static class O1 {
                public int f = 1;
 
                @Override
                public String toString() {
-                       return "O001";
+                       return "O1";
                }
        }
 
@@ -2961,47 +2962,47 @@ public class RestClientTest {
                        .simpleJson()
                        .build();
 
-               rc1.post("/echoBody", new O001())
+               rc1.post("/echoBody", new O1())
                        .run()
-                       .getBody().assertValue("'O001'");
-               rc2.post("/echoBody", new O001())
+                       .getBody().assertValue("'O1'");
+               rc2.post("/echoBody", new O1())
                        .run()
                        .getBody().assertValue("{f:1}");
 
                rc1.get("/checkQuery")
-                       .query("foo", new O001())
+                       .query("foo", new O1())
                        .run()
-                       .getBody().assertValue("foo=O001");
+                       .getBody().assertValue("foo=O1");
                rc2.get("/checkQuery")
-                       .query("foo", new O001())
+                       .query("foo", new O1())
                        .run()
                        .getBody().assertValue("foo=f%3D1");
 
                rc1.formPost("/checkFormData")
-                       .formData("foo", new O001())
+                       .formData("foo", new O1())
                        .run()
-                       .getBody().assertValue("foo=O001");
+                       .getBody().assertValue("foo=O1");
                rc2.formPost("/checkFormData")
-                       .formData("foo", new O001())
+                       .formData("foo", new O1())
                        .run()
                        .getBody().assertValue("foo=f%3D1");
 
                rc1.get("/checkHeader")
-                       .header("foo", new O001())
+                       .header("foo", new O1())
                        .header("Check", "foo")
                        .run()
-                       .getBody().assertValue("['O001']");
+                       .getBody().assertValue("['O1']");
                rc2.get("/checkHeader")
-                       .header("foo", new O001())
+                       .header("foo", new O1())
                        .header("Check", "foo")
                        .run()
                        .getBody().assertValue("['f=1']");
        }
 
-       public static class O002 {
+       public static class O2 {
                private int f;
 
-               protected O002(int f) {
+               protected O2(int f) {
                        this.f = f;
                }
 
@@ -3010,86 +3011,180 @@ public class RestClientTest {
                }
        }
 
+       @Rest
+       public static class O2R extends BasicRest {
+               @RestMethod
+               public Reader postTest(org.apache.juneau.rest.RestRequest req, 
org.apache.juneau.rest.RestResponse res) throws IOException {
+                       res.setHeader("X", req.getHeaders().getString("X"));
+                       return req.getBody().getReader();
+               }
+       }
+
        @Test
        public void o002_beanContext_beanConstructorVisibility() throws 
Exception {
-               RestClient rc1 = MockRestClient
-                       .create(A.class)
+               RestResponse rr = MockRestClient
+                       .create(O2R.class)
+                       .beanConstructorVisibility(Visibility.PROTECTED)
                        .simpleJson()
-                       .build();
+                       .build()
+                       .post("/test", new O2(1))
+                       .header("X", new O2(1))
+                       .run()
+                       .getBody().cache().assertValue("1")
+                       .getHeader("X").assertValue("1")
+               ;
+               assertEquals(1, rr.getBody().as(O2.class).f);
+               assertEquals(1, rr.getHeader("X").as(O2.class).f);
+       }
 
-               RestClient rc2 = MockRestClient
-                       .create(A.class)
-                       .beanConstructorVisibility(Visibility.PROTECTED)
+
+       public static class O9 {
+               public int f1;
+               protected int f2;
+
+               O9 init() {
+                       f1 = 1;
+                       f2 = 2;
+                       return this;
+               }
+
+               @Override
+               public String toString() {
+                       return f1 + "/" + f2;
+               }
+       }
+
+       @Test
+       public void o009_beanContext_beanFieldVisibility() throws Exception {
+               RestResponse rr = MockRestClient
+                       .create(O2R.class)
+                       .beanFieldVisibility(Visibility.PROTECTED)
                        .simpleJson()
-                       .build();
+                       .build()
+                       .post("/test", new O9().init())
+                       .header("X", new O9().init())
+                       .run()
+                       .getBody().cache().assertValue("{f1:1,f2:2}")
+                       .getHeader("X").assertValue("f1=1,f2=2")
+               ;
+               assertEquals(2, rr.getBody().as(O9.class).f2);
+               assertEquals(2, rr.getHeader("X").as(O9.class).f2);
+       }
 
-               try {
-                       rc1.post("/echoBody", new O002(1))
-                               .run()
-                               .getBody().as(O002.class);
-                               fail("Exception expected.");
-               } catch (RestCallException e) {
-                       assertEquals("No unparse methodology found for 
object.", e.getMessage());
+       public static interface O10I {
+               int getF3();
+               void setF3(int f3);
+       }
+
+
+       public static class O10 implements O10I {
+               public int f1, f2;
+               private int f3;
+
+               @Override
+               public int getF3() {
+                       return f3;
+               }
+
+               @Override
+               public void setF3(int f3) {
+                       this.f3 = f3;
+               }
+
+               O10 init() {
+                       f1 = 1;
+                       f2 = 2;
+                       f3 = 3;
+                       return this;
                }
 
-               assertEquals(1, rc2.post("/echoBody", new O002(1))
+               @Override
+               public String toString() {
+                       return f1 + "/" + f2;
+               }
+       }
+
+       public static class O10Filter extends 
org.apache.juneau.transform.BeanFilterBuilder<O10> {
+               public O10Filter() {
+                       bpi("f1");
+               }
+       }
+
+       @Test
+       public void o010_beanContext_beanFilters() throws Exception {
+               RestResponse rr = MockRestClient
+                       .create(O2R.class)
+                       .beanFilters(O10Filter.class)
+                       .simpleJson()
+                       .build()
+                       .post("/test", new O10().init())
+                       .header("X", new O10().init())
+                       .run()
+                       .getBody().cache().assertValue("{f1:1}")
+                       .getHeader("X").assertValue("f1=1")
+               ;
+               assertEquals(0, rr.getBody().as(O10.class).f2);
+               assertEquals(0, rr.getHeader("X").as(O10.class).f2);
+
+               rr = MockRestClient
+                       .create(O2R.class)
+                       .beanFilters(new O10Filter())
+                       .simpleJson()
+                       .build()
+                       .post("/test", new O10().init())
+                       .header("X", new O10().init())
                        .run()
-                       .getBody().as(O002.class).f);
+                       .getBody().cache().assertValue("{f1:1}")
+                       .getHeader("X").assertValue("f1=1")
+               ;
+               assertEquals(0, rr.getBody().as(O10.class).f2);
+               assertEquals(0, rr.getHeader("X").as(O10.class).f2);
+
+               rr = MockRestClient
+                       .create(O2R.class)
+                       
.beanFilters(BeanFilter.create(O10.class).bpi("f1").build())
+                       .simpleJson()
+                       .build()
+                       .post("/test", new O10().init())
+                       .header("X", new O10().init())
+                       .run()
+                       .getBody().cache().assertValue("{f1:1}")
+                       .getHeader("X").assertValue("f1=1")
+               ;
+               assertEquals(0, rr.getBody().as(O10.class).f2);
+               assertEquals(0, rr.getHeader("X").as(O10.class).f2);
+
+               rr = MockRestClient
+                       .create(O2R.class)
+                       .beanFilters(BeanFilter.create(O10.class).bpi("f1"))
+                       .simpleJson()
+                       .build()
+                       .post("/test", new O10().init())
+                       .header("X", new O10().init())
+                       .run()
+                       .getBody().cache().assertValue("{f1:1}")
+                       .getHeader("X").assertValue("f1=1")
+               ;
+               assertEquals(0, rr.getBody().as(O10.class).f2);
+               assertEquals(0, rr.getHeader("X").as(O10.class).f2);
+
+
+               rr = MockRestClient
+                       .create(O2R.class)
+                       .beanFilters(O10I.class)
+                       .simpleJson()
+                       .build()
+                       .post("/test", new O10().init())
+                       .header("X", new O10().init())
+                       .run()
+                       .getBody().cache().assertValue("{f3:3}")
+                       .getHeader("X").assertValue("f3=3")
+               ;
+               assertEquals(3, rr.getBody().as(O10.class).f3);
+               assertEquals(3, rr.getHeader("X").as(O10.class).f3);
        }
 
 //     @Test
-//     public void o003_beanContext_beanDictionaryClasses() throws Exception { 
fail(); }
-////   public RestClientBuilder beanDictionary(java.lang.Class<?>...values) {
-//
-//     @Test
-//     public void o004_beanContext_beanDictionaryObjects() throws Exception { 
fail(); }
-////   public RestClientBuilder beanDictionary(Object...values) {
-//
-//     @Test
-//     public void o005_beanContext_beanDictionaryRemoveClasses() throws 
Exception { fail(); }
-////   public RestClientBuilder 
beanDictionaryRemove(java.lang.Class<?>...values) {
-//
-//     @Test
-//     public void o006_beanContext_beanDictionaryRemoveObjects() throws 
Exception { fail(); }
-////   public RestClientBuilder beanDictionaryRemove(Object...values) {
-//
-//     @Test
-//     public void o007_beanContext_beanDictionaryReplaceClasses() throws 
Exception { fail(); }
-////   public RestClientBuilder 
beanDictionaryReplace(java.lang.Class<?>...values) {
-//
-//     @Test
-//     public void o008_beanContext_beanDictionaryReplaceObjects() throws 
Exception { fail(); }
-////   public RestClientBuilder beanDictionaryReplace(Object...values) {
-//
-//     @Test
-//     public void o009_beanContext_beanFieldVisibility() throws Exception { 
fail(); }
-////   public RestClientBuilder beanFieldVisibility(Visibility value) {
-//
-//     @Test
-//     public void o010_beanContext_beanFiltersClasses() throws Exception { 
fail(); }
-////   public RestClientBuilder beanFilters(java.lang.Class<?>...values) {
-//
-//     @Test
-//     public void o011_beanContext_beanFiltersObjects() throws Exception { 
fail(); }
-////   public RestClientBuilder beanFilters(Object...values) {
-//
-//     @Test
-//     public void o012_beanContext_beanFiltersRemoveClasses() throws 
Exception { fail(); }
-////   public RestClientBuilder beanFiltersRemove(java.lang.Class<?>...values) 
{
-//
-//     @Test
-//     public void o013_beanContext_beanFiltersRemoveObjects() throws 
Exception { fail(); }
-////   public RestClientBuilder beanFiltersRemove(Object...values) {
-//
-//     @Test
-//     public void o014_beanContext_beanFiltersReplaceClasses() throws 
Exception { fail(); }
-////   public RestClientBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-//
-//     @Test
-//     public void o015_beanContext_beanFiltersReplaceObjects() throws 
Exception { fail(); }
-////   public RestClientBuilder beanFiltersReplace(Object...values) {
-//
-//     @Test
 //     public void o016_beanContext_beanMapPutReturnsOldValue() throws 
Exception { fail(); }
 ////   public RestClientBuilder beanMapPutReturnsOldValue() {
 //
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 4a33ee0..ca18271 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
@@ -2413,36 +2413,18 @@ public class RestClientBuilder extends 
BeanContextBuilder {
        }
 
        @Override /* BeanContextBuilder */
-       public RestClientBuilder beanFilters(Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public RestClientBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* BeanContextBuilder */
-       public RestClientBuilder beanFiltersReplace(Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public RestClientBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
        }
 
        @Override /* BeanContextBuilder */
-       public RestClientBuilder beanFiltersRemove(Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* BeanContextBuilder */
        public RestClientBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
diff --git 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
index e0aabb9..5061d6f 100644
--- 
a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
+++ 
b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client2/RestClientBuilder.java
@@ -3018,36 +3018,18 @@ public class RestClientBuilder extends 
BeanContextBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestClientBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RestClientBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestClientBuilder beanFiltersRemove(java.lang.Class<?>...values) 
{
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RestClientBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestClientBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RestClientBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
index e7ba129..6ec353c 100644
--- 
a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
+++ 
b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock2/MockRestClient.java
@@ -273,36 +273,18 @@ public class MockRestClient extends RestClientBuilder {
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MockRestClient beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MockRestClient beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MockRestClient beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MockRestClient beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public MockRestClient beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public MockRestClient beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;
diff --git 
a/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
 
b/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
index 7400d8a..e4089f1 100644
--- 
a/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
+++ 
b/juneau-rest/juneau-rest-server-jaxrs/src/main/java/org/apache/juneau/rest/jaxrs/BaseProvider.java
@@ -59,14 +59,14 @@ public class BaseProvider implements 
MessageBodyReader<Object>, MessageBodyWrite
 
                        serializers = SerializerGroup.create()
                                .append(jp.serializers())
-                               .beanFilters(jp.beanFilters())
+                               .beanFilters((Object[])jp.beanFilters())
                                .pojoSwaps(jp.pojoSwaps())
                                .set(properties)
                                .build();
 
                        parsers = ParserGroup.create()
                                .append(jp.parsers())
-                               .beanFilters(jp.beanFilters())
+                               .beanFilters((Object[])jp.beanFilters())
                                .pojoSwaps(jp.pojoSwaps())
                                .set(properties)
                                .build();
diff --git 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
index 8b11254..9980bd4 100644
--- 
a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
+++ 
b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContextBuilder.java
@@ -2726,36 +2726,18 @@ public class RestContextBuilder extends 
BeanContextBuilder implements ServletCon
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestContextBuilder beanFilters(java.lang.Class<?>...values) {
-               super.beanFilters(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RestContextBuilder beanFilters(Object...values) {
                super.beanFilters(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestContextBuilder 
beanFiltersRemove(java.lang.Class<?>...values) {
-               super.beanFiltersRemove(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RestContextBuilder beanFiltersRemove(Object...values) {
                super.beanFiltersRemove(values);
                return this;
        }
 
        @Override /* GENERATED - BeanContextBuilder */
-       public RestContextBuilder 
beanFiltersReplace(java.lang.Class<?>...values) {
-               super.beanFiltersReplace(values);
-               return this;
-       }
-
-       @Override /* GENERATED - BeanContextBuilder */
        public RestContextBuilder beanFiltersReplace(Object...values) {
                super.beanFiltersReplace(values);
                return this;

Reply via email to