Repository: incubator-juneau
Updated Branches:
  refs/heads/master bea31abd8 -> d87240712


http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
 
b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
index 12561cb..eb03b41 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/a/rttests/RoundTripTransformBeansTest.java
@@ -41,18 +41,18 @@ public class RoundTripTransformBeansTest extends 
RoundTripTest {
        }
 
        
//====================================================================================================
-       // testTransformBeans1
+       // testSwapBeans1
        
//====================================================================================================
        @Test
-       public void testTransformBeans1() throws Exception {
+       public void testSwapBeans1() throws Exception {
                Class<?>[] f = {
                        ByteArrayBase64Swap.class,
                        CalendarSwap.ISO8601DTZ.class,
                        DateSwap.ISO8601DTZ.class
                };
-               s.addTransforms(f);
+               s.addPojoSwaps(f);
                if (p != null)
-                       p.addTransforms(f);
+                       p.addPojoSwaps(f);
                A t = new A().init();
                t = roundTrip(t, A.class);
 
@@ -161,18 +161,18 @@ public class RoundTripTransformBeansTest extends 
RoundTripTest {
 
 
        
//====================================================================================================
-       // testTransformBeans2
+       // testSwapBeans2
        
//====================================================================================================
        @Test
-       public void testTransformBeans2() throws Exception {
+       public void testSwapBeans2() throws Exception {
                Class<?>[] f = {
                        ByteArrayBase64Swap.class,
                        CalendarSwap.Medium.class,
                        DateSwap.RFC2822DT.class,
                };
-               s.addTransforms(f);
+               s.addPojoSwaps(f);
                if (p != null)
-                       p.addTransforms(f);
+                       p.addPojoSwaps(f);
                A t = new A().init();
                t = roundTrip(t, A.class);
 
@@ -258,8 +258,8 @@ public class RoundTripTransformBeansTest extends 
RoundTripTest {
                GregorianCalendar gc = new GregorianCalendar();
                XMLGregorianCalendar c = 
DatatypeFactory.newInstance().newXMLGregorianCalendar(gc);
 
-               Serializer s = 
getSerializer().clone().addTransforms(XMLGregorianCalendarSwap.class);
-               Parser p = 
getParser().clone().addTransforms(XMLGregorianCalendarSwap.class);
+               Serializer s = 
getSerializer().clone().addPojoSwaps(XMLGregorianCalendarSwap.class);
+               Parser p = 
getParser().clone().addPojoSwaps(XMLGregorianCalendarSwap.class);
 
                Object r = s.serialize(c);
                XMLGregorianCalendar c2 = p.parse(r, 
XMLGregorianCalendar.class);
@@ -337,10 +337,10 @@ public class RoundTripTransformBeansTest extends 
RoundTripTest {
        
//====================================================================================================
        @Test
        public void testSurrogateTransform() throws Exception {
-               addTransforms(D2.class);
+               addPojoSwaps(D2.class);
 
-               JsonSerializer s = new 
JsonSerializer.Simple().addTransforms(D2.class);
-               JsonParser p = new JsonParser().addTransforms(D2.class);
+               JsonSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(D2.class);
+               JsonParser p = new JsonParser().addPojoSwaps(D2.class);
                Object r;
                D1 d1 = D1.create();
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java 
b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java
index ec2da25..18f6a0f 100755
--- a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanFilterTest.java
@@ -30,13 +30,13 @@ public class BeanFilterTest {
                BeanContext bc;
                BeanMap<A3> bm;
 
-               bc = 
ContextFactory.create().addTransforms(A1.class).getBeanContext();
+               bc = 
ContextFactory.create().addBeanFilters(A1.class).getBeanContext();
                bm = bc.newBeanMap(A3.class);
                assertEquals("f1", bm.get("f1"));
                assertNull(bm.get("f2"));
                assertNull(bm.get("f3"));
 
-               bc = 
ContextFactory.create().addTransforms(A2.class).getBeanContext();
+               bc = 
ContextFactory.create().addBeanFilters(A2.class).getBeanContext();
                bm = bc.newBeanMap(A3.class);
                assertEquals("f1", bm.get("f1"));
                assertEquals("f2", bm.get("f2"));
@@ -73,13 +73,13 @@ public class BeanFilterTest {
                BeanContext bc;
                BeanMap<Test2> bm;
 
-               bc = 
ContextFactory.create().addTransforms(B1.class).getBeanContext();
+               bc = 
ContextFactory.create().addBeanFilters(B1.class).getBeanContext();
                bm = bc.newBeanMap(Test2.class);
                assertEquals("f1", bm.get("f1"));
                assertNull(bm.get("f2"));
                assertNull(bm.get("f3"));
 
-               bc = 
ContextFactory.create().addTransforms(B2.class).getBeanContext();
+               bc = 
ContextFactory.create().addBeanFilters(B2.class).getBeanContext();
                bm = bc.newBeanMap(Test2.class);
                assertEquals("f1", bm.get("f1"));
                assertEquals("f2", bm.get("f2"));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java 
b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java
index e3f5942..daa320f 100755
--- a/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/transforms/BeanMapTest.java
@@ -26,7 +26,7 @@ public class BeanMapTest {
        
//====================================================================================================
        @Test
        public void testFilteredEntry() throws Exception {
-               BeanContext bc = 
ContextFactory.create().addTransforms(ByteArrayBase64Swap.class).getBeanContext();
+               BeanContext bc = 
ContextFactory.create().addPojoSwaps(ByteArrayBase64Swap.class).getBeanContext();
                BeanMap<A> m = bc.forBean(new A());
 
                assertEquals("AQID", m.get("f1"));
@@ -48,12 +48,12 @@ public class BeanMapTest {
        
//====================================================================================================
        @Test
        public void testFilteredEntryWithMultipleMatchingFilters() throws 
Exception {
-               BeanContext bc = 
ContextFactory.create().addTransforms(B2Filter.class,B1Filter.class).getBeanContext();
+               BeanContext bc = 
ContextFactory.create().addPojoSwaps(B2Swap.class,B1Swap.class).getBeanContext();
                BeanMap<B> bm = bc.forBean(B.create());
                ObjectMap om = (ObjectMap)bm.get("b1");
                assertEquals("b2", om.getString("type"));
 
-               bc = 
ContextFactory.create().addTransforms(B1Filter.class,B2Filter.class).getBeanContext();
+               bc = 
ContextFactory.create().addPojoSwaps(B1Swap.class,B2Swap.class).getBeanContext();
                bm = bc.forBean(B.create());
                om = (ObjectMap)bm.get("b1");
                assertEquals("b1", om.getString("type"));
@@ -81,14 +81,14 @@ public class BeanMapTest {
                public String f2;
        }
 
-       public static class B1Filter extends PojoSwap<B1,ObjectMap> {
+       public static class B1Swap extends PojoSwap<B1,ObjectMap> {
                @Override /* PojoSwap */
                public ObjectMap swap(B1 b1) {
                        return new ObjectMap().append("type", 
"b1").append("f1", b1.f1);
                }
        }
 
-       public static class B2Filter extends PojoSwap<B2,ObjectMap> {
+       public static class B2Swap extends PojoSwap<B2,ObjectMap> {
                @Override /* PojoSwap */
                public ObjectMap swap(B2 b2) {
                        return new ObjectMap().append("type", 
"b2").append("f1", b2.f1);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java
 
b/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java
index 0e3c90d..49a8815 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/transforms/ByteArrayBase64SwapTest.java
@@ -31,7 +31,7 @@ public class ByteArrayBase64SwapTest extends RoundTripTest {
        }
 
        @Override /* RoundTripTest */
-       public Class<?>[] getTransforms() {
+       public Class<?>[] getPojoSwaps() {
                return new Class<?>[] {
                        ByteArrayBase64Swap.class
                };
@@ -42,7 +42,7 @@ public class ByteArrayBase64SwapTest extends RoundTripTest {
        
//====================================================================================================
        @Test
        public void testPrimitiveArrays() throws Exception {
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(ByteArrayBase64Swap.class).setProperty(SERIALIZER_trimNullProperties,
 false);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(ByteArrayBase64Swap.class).setProperty(SERIALIZER_trimNullProperties,
 false);
 
                byte[] a1 = {1,2,3};
                assertEquals("'AQID'", s.serialize(a1));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java 
b/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
index 72cf3eb..a0ed56e 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/transforms/CalendarSwapTest.java
@@ -141,8 +141,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultStringJson() throws Exception {
                Class<?> f = CalendarSwap.ToString.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, true, "'Sun Mar 03 10:11:12 PST 1901'");
        }
 
@@ -152,8 +152,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultStringXml() throws Exception {
                Class<?> f = CalendarSwap.ToString.class;
-               WriterSerializer s = new 
XmlSerializer.SimpleSq().addTransforms(f);
-               ReaderParser p = new XmlParser().addTransforms(f);
+               WriterSerializer s = new 
XmlSerializer.SimpleSq().addPojoSwaps(f);
+               ReaderParser p = new XmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<string>Sun Mar 03 10:11:12 PST 
1901</string>");
        }
 
@@ -163,8 +163,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultStringHtml() throws Exception {
                Class<?> f = CalendarSwap.ToString.class;
-               WriterSerializer s = new HtmlSerializer().addTransforms(f);
-               ReaderParser p = new HtmlParser().addTransforms(f);
+               WriterSerializer s = new HtmlSerializer().addPojoSwaps(f);
+               ReaderParser p = new HtmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<string>Sun Mar 03 10:11:12 PST 
1901</string>");
        }
 
@@ -174,8 +174,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultStringUon() throws Exception {
                Class<?> f = CalendarSwap.ToString.class;
-               WriterSerializer s = new 
UonSerializer.Encoding().addTransforms(f);
-               ReaderParser p = 
UonParser.DEFAULT_DECODING.clone().addTransforms(f);
+               WriterSerializer s = new 
UonSerializer.Encoding().addPojoSwaps(f);
+               ReaderParser p = 
UonParser.DEFAULT_DECODING.clone().addPojoSwaps(f);
                doTest(s, p, true, "Sun+Mar+03+10:11:12+PST+1901");
        }
 
@@ -185,8 +185,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultStringUrlEncoding() throws Exception {
                Class<?> f = CalendarSwap.ToString.class;
-               WriterSerializer s = new 
UrlEncodingSerializer().addTransforms(f);
-               ReaderParser p = 
UrlEncodingParser.DEFAULT.clone().addTransforms(f);
+               WriterSerializer s = new 
UrlEncodingSerializer().addPojoSwaps(f);
+               ReaderParser p = 
UrlEncodingParser.DEFAULT.clone().addPojoSwaps(f);
                doTest(s, p, true, "_value=Sun+Mar+03+10:11:12+PST+1901");
        }
 
@@ -196,8 +196,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultStringRdfXml() throws Exception {
                Class<?> f = CalendarSwap.ToString.class;
-               WriterSerializer s = getRdfSerializer().addTransforms(f);
-               ReaderParser p = new RdfParser.Xml().addTransforms(f);
+               WriterSerializer s = getRdfSerializer().addPojoSwaps(f);
+               ReaderParser p = new RdfParser.Xml().addPojoSwaps(f);
                doTest(s, p, true, "<rdf:Description><j:value>Sun Mar 03 
10:11:12 PST 1901</j:value></rdf:Description>");
        }
 
@@ -207,8 +207,8 @@ public class CalendarSwapTest {
        @Test
        public void testISO8601DTJson() throws Exception {
                Class<?> f = CalendarSwap.ISO8601DT.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                String x = "'1901-03-03T10:11:12-08:00'";
                doTest(s, p, true, x);
        }
@@ -219,8 +219,8 @@ public class CalendarSwapTest {
        @Test
        public void testISO8601DTXml() throws Exception {
                Class<?> f = CalendarSwap.ISO8601DT.class;
-               WriterSerializer s = new 
XmlSerializer.SimpleSq().addTransforms(f);
-               ReaderParser p = new XmlParser().addTransforms(f);
+               WriterSerializer s = new 
XmlSerializer.SimpleSq().addPojoSwaps(f);
+               ReaderParser p = new XmlParser().addPojoSwaps(f);
                doTest(s, p, true, 
"<string>1901-03-03T10:11:12-08:00</string>");
        }
 
@@ -230,8 +230,8 @@ public class CalendarSwapTest {
        @Test
        public void testISO8601DTHtml() throws Exception {
                Class<?> f = CalendarSwap.ISO8601DT.class;
-               WriterSerializer s = new HtmlSerializer().addTransforms(f);
-               ReaderParser p = new HtmlParser().addTransforms(f);
+               WriterSerializer s = new HtmlSerializer().addPojoSwaps(f);
+               ReaderParser p = new HtmlParser().addPojoSwaps(f);
                doTest(s, p, true, 
"<string>1901-03-03T10:11:12-08:00</string>");
        }
 
@@ -241,8 +241,8 @@ public class CalendarSwapTest {
        @Test
        public void testISO8601DTUon() throws Exception {
                Class<?> f = CalendarSwap.ISO8601DT.class;
-               WriterSerializer s = new UonSerializer().addTransforms(f);
-               ReaderParser p = new UonParser().addTransforms(f);
+               WriterSerializer s = new UonSerializer().addPojoSwaps(f);
+               ReaderParser p = new UonParser().addPojoSwaps(f);
                doTest(s, p, true, "1901-03-03T10:11:12-08:00");
        }
 
@@ -252,8 +252,8 @@ public class CalendarSwapTest {
        @Test
        public void testISO8601DTUrlEncoding() throws Exception {
                Class<?> f = CalendarSwap.ISO8601DT.class;
-               WriterSerializer s = new 
UrlEncodingSerializer().addTransforms(f);
-               ReaderParser p = new UrlEncodingParser().addTransforms(f);
+               WriterSerializer s = new 
UrlEncodingSerializer().addPojoSwaps(f);
+               ReaderParser p = new UrlEncodingParser().addPojoSwaps(f);
                doTest(s, p, true, "_value=1901-03-03T10:11:12-08:00");
        }
 
@@ -263,8 +263,8 @@ public class CalendarSwapTest {
        @Test
        public void testISO8601DTRdfXml() throws Exception {
                Class<?> f = CalendarSwap.ISO8601DT.class;
-               WriterSerializer s = getRdfSerializer().addTransforms(f);
-               ReaderParser p = new RdfParser.Xml().addTransforms(f);
+               WriterSerializer s = getRdfSerializer().addPojoSwaps(f);
+               ReaderParser p = new RdfParser.Xml().addPojoSwaps(f);
                doTest(s, p, true, 
"<rdf:Description><j:value>1901-03-03T10:11:12-08:00</j:value></rdf:Description>");
        }
 
@@ -274,8 +274,8 @@ public class CalendarSwapTest {
        @Test
        public void testRFC2822DTJson() throws Exception {
                Class<?> f = CalendarSwap.RFC2822DTZ.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, true, "'Sun, 03 Mar 1901 18:11:12 GMT'");
        }
 
@@ -285,8 +285,8 @@ public class CalendarSwapTest {
        @Test
        public void testRFC2822DTXml() throws Exception {
                Class<?> f = CalendarSwap.RFC2822DTZ.class;
-               WriterSerializer s = new 
XmlSerializer.SimpleSq().addTransforms(f);
-               ReaderParser p = new XmlParser().addTransforms(f);
+               WriterSerializer s = new 
XmlSerializer.SimpleSq().addPojoSwaps(f);
+               ReaderParser p = new XmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<string>Sun, 03 Mar 1901 18:11:12 
GMT</string>");
        }
 
@@ -296,8 +296,8 @@ public class CalendarSwapTest {
        @Test
        public void testRFC2822DTHtml() throws Exception {
                Class<?> f = CalendarSwap.RFC2822DTZ.class;
-               WriterSerializer s = new HtmlSerializer().addTransforms(f);
-               ReaderParser p = new HtmlParser().addTransforms(f);
+               WriterSerializer s = new HtmlSerializer().addPojoSwaps(f);
+               ReaderParser p = new HtmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<string>Sun, 03 Mar 1901 18:11:12 
GMT</string>");
        }
 
@@ -307,8 +307,8 @@ public class CalendarSwapTest {
        @Test
        public void testRFC2822DTUon() throws Exception {
                Class<?> f = CalendarSwap.RFC2822DTZ.class;
-               WriterSerializer s = new 
UonSerializer.Encoding().addTransforms(f);
-               ReaderParser p = 
UonParser.DEFAULT_DECODING.clone().addTransforms(f);
+               WriterSerializer s = new 
UonSerializer.Encoding().addPojoSwaps(f);
+               ReaderParser p = 
UonParser.DEFAULT_DECODING.clone().addPojoSwaps(f);
                doTest(s, p, true, "Sun,+03+Mar+1901+18:11:12+GMT");
        }
 
@@ -318,8 +318,8 @@ public class CalendarSwapTest {
        @Test
        public void testRFC2822DTUrlEncoding() throws Exception {
                Class<?> f = CalendarSwap.RFC2822DTZ.class;
-               WriterSerializer s = new 
UrlEncodingSerializer().addTransforms(f);
-               ReaderParser p = 
UrlEncodingParser.DEFAULT.clone().addTransforms(f);
+               WriterSerializer s = new 
UrlEncodingSerializer().addPojoSwaps(f);
+               ReaderParser p = 
UrlEncodingParser.DEFAULT.clone().addPojoSwaps(f);
                doTest(s, p, true, "_value=Sun,+03+Mar+1901+18:11:12+GMT");
        }
 
@@ -329,8 +329,8 @@ public class CalendarSwapTest {
        @Test
        public void testRFC2822DTRdfXml() throws Exception {
                Class<?> f = CalendarSwap.RFC2822DTZ.class;
-               WriterSerializer s = getRdfSerializer().addTransforms(f);
-               ReaderParser p = new RdfParser.Xml().addTransforms(f);
+               WriterSerializer s = getRdfSerializer().addPojoSwaps(f);
+               ReaderParser p = new RdfParser.Xml().addPojoSwaps(f);
                doTest(s, p, true, "<rdf:Description><j:value>Sun, 03 Mar 1901 
18:11:12 GMT</j:value></rdf:Description>");
        }
 
@@ -340,8 +340,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultLongJson() throws Exception {
                Class<?> f = CalendarLongSwap.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, true, "-2172116928000");
        }
 
@@ -351,8 +351,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultLongXml() throws Exception {
                Class<?> f = CalendarLongSwap.class;
-               WriterSerializer s = new 
XmlSerializer.SimpleSq().addTransforms(f);
-               ReaderParser p = new XmlParser().addTransforms(f);
+               WriterSerializer s = new 
XmlSerializer.SimpleSq().addPojoSwaps(f);
+               ReaderParser p = new XmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<number>-2172116928000</number>");
        }
 
@@ -362,8 +362,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultLongHtml() throws Exception {
                Class<?> f = CalendarLongSwap.class;
-               WriterSerializer s = new HtmlSerializer().addTransforms(f);
-               ReaderParser p = new HtmlParser().addTransforms(f);
+               WriterSerializer s = new HtmlSerializer().addPojoSwaps(f);
+               ReaderParser p = new HtmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<number>-2172116928000</number>");
        }
 
@@ -373,8 +373,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultLongUon() throws Exception {
                Class<?> f = CalendarLongSwap.class;
-               WriterSerializer s = 
UonSerializer.DEFAULT_SIMPLE.clone().addTransforms(f);
-               ReaderParser p = new UonParser().addTransforms(f);
+               WriterSerializer s = 
UonSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f);
+               ReaderParser p = new UonParser().addPojoSwaps(f);
                doTest(s, p, true, "-2172116928000");
        }
 
@@ -384,8 +384,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultLongUrlEncoding() throws Exception {
                Class<?> f = CalendarLongSwap.class;
-               WriterSerializer s = 
UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addTransforms(f);
-               ReaderParser p = new UrlEncodingParser().addTransforms(f);
+               WriterSerializer s = 
UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f);
+               ReaderParser p = new UrlEncodingParser().addPojoSwaps(f);
                doTest(s, p, true, "_value=-2172116928000");
        }
 
@@ -395,8 +395,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultLongRdfXml() throws Exception {
                Class<?> f = CalendarLongSwap.class;
-               WriterSerializer s = getRdfSerializer().addTransforms(f);
-               ReaderParser p = new RdfParser.Xml().addTransforms(f);
+               WriterSerializer s = getRdfSerializer().addPojoSwaps(f);
+               ReaderParser p = new RdfParser.Xml().addPojoSwaps(f);
                doTest(s, p, true, 
"<rdf:Description><j:value>-2172116928000</j:value></rdf:Description>");
        }
 
@@ -406,8 +406,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMapJson() throws Exception {
                Class<?> f = CalendarMapSwap.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, true, "{time:-2172116928000,timeZone:'PST'}");
        }
 
@@ -417,8 +417,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMapXml() throws Exception {
                Class<?> f = CalendarMapSwap.class;
-               WriterSerializer s = new 
XmlSerializer.SimpleXmlJsonSq().addTransforms(f);
-               ReaderParser p = new XmlParser().addTransforms(f);
+               WriterSerializer s = new 
XmlSerializer.SimpleXmlJsonSq().addPojoSwaps(f);
+               ReaderParser p = new XmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<object><time 
type='number'>-2172116928000</time><timeZone>PST</timeZone></object>");
        }
 
@@ -428,8 +428,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMapHtml() throws Exception {
                Class<?> f = CalendarMapSwap.class;
-               WriterSerializer s = new HtmlSerializer.Sq().addTransforms(f);
-               ReaderParser p = new HtmlParser().addTransforms(f);
+               WriterSerializer s = new HtmlSerializer.Sq().addPojoSwaps(f);
+               ReaderParser p = new HtmlParser().addPojoSwaps(f);
                doTest(s, p, true, "<table 
type='object'><tr><th><string>key</string></th><th><string>value</string></th></tr><tr><td><string>time</string></td><td><number>-2172116928000</number></td></tr><tr><td><string>timeZone</string></td><td><string>PST</string></td></tr></table>");
        }
 
@@ -439,8 +439,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMapUon() throws Exception {
                Class<?> f = CalendarMapSwap.class;
-               WriterSerializer s = 
UonSerializer.DEFAULT_SIMPLE.clone().addTransforms(f);
-               ReaderParser p = new UonParser().addTransforms(f);
+               WriterSerializer s = 
UonSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f);
+               ReaderParser p = new UonParser().addPojoSwaps(f);
                doTest(s, p, true, "(time=-2172116928000,timeZone=PST)");
        }
 
@@ -450,8 +450,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMapUrlEncoding() throws Exception {
                Class<?> f = CalendarMapSwap.class;
-               WriterSerializer s = 
UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addTransforms(f);
-               ReaderParser p = new UrlEncodingParser().addTransforms(f);
+               WriterSerializer s = 
UrlEncodingSerializer.DEFAULT_SIMPLE.clone().addPojoSwaps(f);
+               ReaderParser p = new UrlEncodingParser().addPojoSwaps(f);
                doTest(s, p, true, "time=-2172116928000&timeZone=PST");
        }
 
@@ -461,8 +461,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMapRdfXml() throws Exception {
                Class<?> f = CalendarMapSwap.class;
-               WriterSerializer s = getRdfSerializer().addTransforms(f);
-               ReaderParser p = new RdfParser.Xml().addTransforms(f);
+               WriterSerializer s = getRdfSerializer().addPojoSwaps(f);
+               ReaderParser p = new RdfParser.Xml().addPojoSwaps(f);
                doTest(s, p, true, 
"<rdf:Description><jp:time>-2172116928000</jp:time><jp:timeZone>PST</jp:timeZone></rdf:Description>");
        }
 
@@ -472,8 +472,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMediumJson() throws Exception {
                Class<?> f = CalendarSwap.Medium.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, false, "'Mar 3, 1901'");
        }
 
@@ -483,8 +483,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMediumXml() throws Exception {
                Class<?> f = CalendarSwap.Medium.class;
-               WriterSerializer s = new 
XmlSerializer.SimpleSq().addTransforms(f);
-               ReaderParser p = new XmlParser().addTransforms(f);
+               WriterSerializer s = new 
XmlSerializer.SimpleSq().addPojoSwaps(f);
+               ReaderParser p = new XmlParser().addPojoSwaps(f);
                doTest(s, p, false, "<string>Mar 3, 1901</string>");
        }
 
@@ -494,8 +494,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMediumHtml() throws Exception {
                Class<?> f = CalendarSwap.Medium.class;
-               WriterSerializer s = new HtmlSerializer().addTransforms(f);
-               ReaderParser p = new HtmlParser().addTransforms(f);
+               WriterSerializer s = new HtmlSerializer().addPojoSwaps(f);
+               ReaderParser p = new HtmlParser().addPojoSwaps(f);
                doTest(s, p, false, "<string>Mar 3, 1901</string>");
        }
 
@@ -505,8 +505,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMediumUon() throws Exception {
                Class<?> f = CalendarSwap.Medium.class;
-               WriterSerializer s = new 
UonSerializer.Encoding().addTransforms(f);
-               ReaderParser p = 
UonParser.DEFAULT_DECODING.clone().addTransforms(f);
+               WriterSerializer s = new 
UonSerializer.Encoding().addPojoSwaps(f);
+               ReaderParser p = 
UonParser.DEFAULT_DECODING.clone().addPojoSwaps(f);
                doTest(s, p, false, "Mar+3,+1901");
        }
 
@@ -516,8 +516,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMediumUrlEncoding() throws Exception {
                Class<?> f = CalendarSwap.Medium.class;
-               WriterSerializer s = new 
UrlEncodingSerializer().addTransforms(f);
-               ReaderParser p = 
UrlEncodingParser.DEFAULT.clone().addTransforms(f);
+               WriterSerializer s = new 
UrlEncodingSerializer().addPojoSwaps(f);
+               ReaderParser p = 
UrlEncodingParser.DEFAULT.clone().addPojoSwaps(f);
                doTest(s, p, false, "_value=Mar+3,+1901");
        }
 
@@ -527,8 +527,8 @@ public class CalendarSwapTest {
        @Test
        public void testDefaultMediumRdfXml() throws Exception {
                Class<?> f = CalendarSwap.Medium.class;
-               WriterSerializer s = getRdfSerializer().addTransforms(f);
-               ReaderParser p = new RdfParser.Xml().addTransforms(f);
+               WriterSerializer s = getRdfSerializer().addPojoSwaps(f);
+               ReaderParser p = new RdfParser.Xml().addPojoSwaps(f);
                doTest(s, p, false, "<rdf:Description><j:value>Mar 3, 
1901</j:value></rdf:Description>");
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java 
b/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java
index 603837c..2d93b12 100755
--- a/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/transforms/DateFilterTest.java
@@ -48,8 +48,8 @@ public class DateFilterTest {
        @Test
        public void testString() throws Exception {
                Class<?> f = DateSwap.ToString.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, "'Sun Mar 03 04:05:06 "+tz1+" 1901'");
        }
 
@@ -59,8 +59,8 @@ public class DateFilterTest {
        @Test
        public void testISO8601DTZ() throws Exception {
                Class<?> f = DateSwap.ISO8601DTZ.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, "'1901-03-03T09:05:06Z'");
        }
 
@@ -70,8 +70,8 @@ public class DateFilterTest {
        @Test
        public void testRFC2822DT() throws Exception {
                Class<?> f = DateSwap.RFC2822DT.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, "'Sun, 03 Mar 1901 04:05:06 "+tz1+"'");
        }
 
@@ -81,8 +81,8 @@ public class DateFilterTest {
        @Test
        public void testLong() throws Exception {
                Class<?> f = DateLongSwap.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, "-2172149694000");
        }
 
@@ -92,8 +92,8 @@ public class DateFilterTest {
        @Test
        public void testMap() throws Exception {
                Class<?> f = DateMapSwap.class;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(f);
-               ReaderParser p = new JsonParser().addTransforms(f);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(f);
+               ReaderParser p = new JsonParser().addPojoSwaps(f);
                doTest(s, p, "{time:-2172149694000}");
        }
 
@@ -146,9 +146,9 @@ public class DateFilterTest {
        public void testBeanWithDate() throws Exception {
                A testBeanA = new A().init();
 
-               final String jsonData = new JsonSerializer().addTransforms(
+               final String jsonData = new JsonSerializer().addPojoSwaps(
                        DateSwap.ISO8601DT.class).serialize(testBeanA);
-               final ObjectMap data = new JsonParser().addTransforms(
+               final ObjectMap data = new JsonParser().addPojoSwaps(
                        DateSwap.ISO8601DT.class).parse(jsonData, 
ObjectMap.class);
 
                final DateSwap.ISO8601DT dateSwap = new DateSwap.ISO8601DT();

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
 
b/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
index f9d36d4..d4b8442 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/transforms/EnumerationSwapTest.java
@@ -28,7 +28,7 @@ public class EnumerationSwapTest {
        
//====================================================================================================
        @Test
        public void test() throws Exception {
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(EnumerationSwap.class);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(EnumerationSwap.class);
                Vector<String> v = new Vector<String>(Arrays.asList(new 
String[]{"foo","bar","baz"}));
                Enumeration<String> e = v.elements();
                assertEquals("['foo','bar','baz']", s.serialize(e));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java 
b/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
index cba40ce..83417ec 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/transforms/IteratorSwapTest.java
@@ -28,7 +28,7 @@ public class IteratorSwapTest {
        
//====================================================================================================
        @Test
        public void test() throws Exception {
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(IteratorSwap.class);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(IteratorSwap.class);
 
                // Iterators
                List<String> l = new ArrayList<String>(Arrays.asList(new 
String[]{"foo","bar","baz"}));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java 
b/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
index e6cc356..00a2eba 100755
--- 
a/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
+++ 
b/juneau-core/src/test/java/org/apache/juneau/transforms/ReaderFilterTest.java
@@ -29,7 +29,7 @@ public class ReaderFilterTest {
        
//====================================================================================================
        @Test
        public void test() throws Exception {
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(ReaderSwap.Json.class);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(ReaderSwap.Json.class);
 
                Reader r;
                Map<String,Object> m;
@@ -39,7 +39,7 @@ public class ReaderFilterTest {
                m.put("X", r);
                assertEquals("{X:{foo:'bar',baz:'quz'}}", s.serialize(m));
 
-               s.addTransforms(ReaderSwap.Xml.class);
+               s.addPojoSwaps(ReaderSwap.Xml.class);
                r = new StringReader("<object><foo type='string'>bar</foo><baz 
type='string'>quz</baz></object>");
                m = new HashMap<String,Object>();
                m.put("X", r);

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java 
b/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
index ae86925..3f0f0b3 100755
--- a/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/utils/PojoQueryTest.java
@@ -87,7 +87,7 @@ public class PojoQueryTest {
                int limit = 0;
                boolean ignoreCase = false;
                BeanContext bc = BeanContext.DEFAULT;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(CalendarSwap.Simple.class);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(CalendarSwap.Simple.class);
                B[] in;
                PojoQuery filter;
 
@@ -603,7 +603,7 @@ public class PojoQueryTest {
                int limit = 0;
                boolean ignoreCase = false;
                BeanContext bc = BeanContext.DEFAULT;
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(CalendarSwap.Simple.class);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(CalendarSwap.Simple.class);
                List results;
 
                I[] in = new I[] {

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java 
b/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
index 3ce3663..e66a047 100755
--- a/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
+++ b/juneau-core/src/test/java/org/apache/juneau/utils/StringUtilsTest.java
@@ -617,7 +617,7 @@ public class StringUtilsTest {
        
//====================================================================================================
        @Test
        public void testParseISO8601Date() throws Exception {
-               WriterSerializer s = new 
JsonSerializer.Simple().addTransforms(DateSwap.ISO8601DTPNZ.class);
+               WriterSerializer s = new 
JsonSerializer.Simple().addPojoSwaps(DateSwap.ISO8601DTPNZ.class);
 
                assertNull(parseISO8601Date(null));
                assertNull(parseISO8601Date(""));

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
 
b/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
index dd64a0d..3dd63b4 100755
--- 
a/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
+++ 
b/juneau-microservice/src/main/java/org/apache/juneau/microservice/resources/LogsResource.java
@@ -44,7 +44,7 @@ import org.apache.juneau.transforms.*;
                @Property(name=HTML_uriAnchorText, value=PROPERTY_NAME),
                @Property(name=REST_allowMethodParam, value="true")
        },
-       transforms={
+       pojoSwaps={
                IteratorSwap.class,       // Allows Iterators and Iterables to 
be serialized.
                DateSwap.ISO8601DT.class  // Serialize Date objects as ISO8601 
strings.
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java
 
b/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java
index ef216e0..5f0554a 100755
--- 
a/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java
+++ 
b/juneau-samples/src/main/java/org/apache/juneau/server/samples/RequestEchoResource.java
@@ -35,9 +35,11 @@ import org.apache.juneau.transforms.*;
                @Property(name=SERIALIZER_detectRecursions, value="true"),
                @Property(name=HTMLDOC_links, 
value="{up:'$R{requestParentURI}',options:'?method=OPTIONS',source:'$R{servletParentURI}/source?classes=(org.apache.juneau.server.samples.RequestEchoResource)'}")
        },
-       transforms={
+       beanFilters={
                // Interpret these as their parent classes, not subclasses
                HttpServletRequest.class, HttpSession.class, 
ServletContext.class,
+       },
+       pojoSwaps={
                // Add a special filter for Enumerations
                EnumerationSwap.class
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java
 
b/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java
index 83dfe8a..e51355d 100755
--- 
a/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java
+++ 
b/juneau-samples/src/test/java/org/apache/juneau/server/samples/AddressBookResourceTest.java
@@ -43,8 +43,8 @@ public class AddressBookResourceTest {
                        new SamplesRestClient(XmlSerializer.class,  
HtmlParser.class).setAccept("text/html+stripped")
                };
                for (RestClient c : clients) {
-                       
c.getSerializer().addTransforms(CalendarSwap.Medium.class);
-                       c.getParser().addTransforms(CalendarSwap.Medium.class);
+                       
c.getSerializer().addPojoSwaps(CalendarSwap.Medium.class);
+                       c.getParser().addPojoSwaps(CalendarSwap.Medium.class);
                        
c.getSerializer().setProperty(XmlSerializerContext.XML_autoDetectNamespaces, 
true);
                }
        }
@@ -62,7 +62,7 @@ public class AddressBookResourceTest {
        @Test
        public void testBasic() throws Exception {
                String in = 
IOUtils.read(getClass().getResourceAsStream("/org/apache/juneau/server/test/AddressBookResource_test0Test.json"));
-               JsonParser p = new 
JsonParser().addTransforms(CalendarSwap.Medium.class);
+               JsonParser p = new 
JsonParser().addPojoSwaps(CalendarSwap.Medium.class);
                Person person = p.parse(in, Person.class);
                if (debug) System.err.println(person);
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java
----------------------------------------------------------------------
diff --git 
a/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java
 
b/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java
index d3f4329..f058b89 100755
--- 
a/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java
+++ 
b/juneau-samples/src/test/java/org/apache/juneau/server/samples/SampleRemoteableServicesResourceTest.java
@@ -35,7 +35,7 @@ public class SampleRemoteableServicesResourceTest {
                        new SamplesRestClient(UonSerializer.class, 
UonParser.class),
                };
                for (RestClient c : clients) {
-                       c.addTransforms(CalendarSwap.Medium.class);
+                       c.addPojoSwaps(CalendarSwap.Medium.class);
                        c.setRemoteableServletUri("/remoteable");
                        
c.setProperty(XmlSerializerContext.XML_autoDetectNamespaces, true);
                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java
----------------------------------------------------------------------
diff --git 
a/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java 
b/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java
index dd964d0..3e9892c 100755
--- 
a/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java
+++ 
b/juneau-samples/src/test/java/org/apache/juneau/server/samples/TestUtils.java
@@ -52,10 +52,10 @@ public class TestUtils {
 
 
        private static JsonSerializer js2 = new JsonSerializer.Simple()
-               .addTransforms(IteratorSwap.class, EnumerationSwap.class);
+               .addPojoSwaps(IteratorSwap.class, EnumerationSwap.class);
 
        private static JsonSerializer js3 = new JsonSerializer.Simple()
-               .addTransforms(IteratorSwap.class, EnumerationSwap.class)
+               .addPojoSwaps(IteratorSwap.class, EnumerationSwap.class)
                .setProperty(BEAN_sortProperties, true);
 
        /**

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java
 
b/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java
index 519715a..9541149 100755
--- 
a/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java
+++ 
b/juneau-server-test/src/main/java/org/apache/juneau/server/BeanContextPropertiesResource.java
@@ -23,7 +23,7 @@ import org.apache.juneau.transforms.*;
  */
 @RestResource(
        path="/testBeanContext",
-       transforms=DateSwap.ISO8601DTZ.class
+       pojoSwaps=DateSwap.ISO8601DTZ.class
 )
 public class BeanContextPropertiesResource extends RestServletDefault {
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java 
b/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java
index be2df77..759fa5c 100755
--- 
a/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java
+++ 
b/juneau-server-test/src/main/java/org/apache/juneau/server/GroupsResource.java
@@ -47,13 +47,13 @@ public class GroupsResource extends RestServlet {
 
 
        @Override /* RestServlet */
-       public SerializerGroup createSerializers(ObjectMap properties, 
Class<?>[] filters) throws Exception {
-               return new 
SerializerGroup().append(SSerializer.class).setProperties(properties).addTransforms(filters);
+       public SerializerGroup createSerializers(ObjectMap properties, 
Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
+               return new 
SerializerGroup().append(SSerializer.class).setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
        }
 
        @Override /* RestServlet */
-       public ParserGroup createParsers(ObjectMap properties, Class<?>[] 
filters) throws Exception {
-               return new 
ParserGroup().append(PParser.class).setProperties(properties).addTransforms(filters);
+       public ParserGroup createParsers(ObjectMap properties, Class<?>[] 
beanFilters, Class<?>[] pojoSwaps) throws Exception {
+               return new 
ParserGroup().append(PParser.class).setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
        }
 
        
//====================================================================================================

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java
 
b/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java
index 4c25acc..192f2b3 100755
--- 
a/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java
+++ 
b/juneau-server-test/src/main/java/org/apache/juneau/server/InheritanceResource.java
@@ -35,7 +35,7 @@ import org.apache.juneau.transform.*;
        serializers={InheritanceResource.S1.class,InheritanceResource.S2.class},
        parsers={InheritanceResource.P1.class,InheritanceResource.P2.class},
        encoders={InheritanceResource.E1.class,InheritanceResource.E2.class},
-       transforms={InheritanceResource.F1.class},
+       pojoSwaps={InheritanceResource.F1Swap.class},
        properties={@Property(name="p1",value="v1"), 
@Property(name="p2",value="v2")}
 )
 public class InheritanceResource extends RestServlet {
@@ -45,7 +45,7 @@ public class InheritanceResource extends RestServlet {
                serializers={S3.class,S4.class},
                parsers={P3.class,P4.class},
                encoders={E3.class,E4.class},
-               transforms={F2.class},
+               pojoSwaps={F2Swap.class},
                properties={@Property(name="p2",value="v2a"), 
@Property(name="p3",value="v3"), @Property(name="p4",value="v4")}
        )
        public static class Sub extends InheritanceResource {
@@ -149,35 +149,35 @@ public class InheritanceResource extends RestServlet {
        public static class TestTransforms extends Sub {
                private static final long serialVersionUID = 1L;
 
-               // Should show ['F1','F2','Foo3']
+               // Should show ['F1Swap','F2Swap','Foo3']
                @RestMethod(name="GET", path="/test1")
                public Object[] test1() {
                        return new Object[]{new Foo1(), new Foo2(), new Foo3()};
                }
 
-               // Should show ['F1','F2','F3']
+               // Should show ['F1Swap','F2Swap','F3Swap']
                // Inherited serializer already has parent filters applied.
-               @RestMethod(name="GET", path="/test2", transforms=F3.class)
+               @RestMethod(name="GET", path="/test2", pojoSwaps=F3Swap.class)
                public Object[] test2() {
                        return new Object[]{new Foo1(), new Foo2(), new Foo3()};
                }
 
-               // Should show ['F1','F2','F3']
-               @RestMethod(name="GET", path="/test3", transforms=F3.class, 
serializersInherit=TRANSFORMS)
+               // Should show ['F1Swap','F2Swap','F3Swap']
+               @RestMethod(name="GET", path="/test3", pojoSwaps=F3Swap.class, 
serializersInherit=TRANSFORMS)
                public Object[] test3() {
                        return new Object[]{new Foo1(), new Foo2(), new Foo3()};
                }
 
-               // Should show ['Foo1','Foo2','F3']
+               // Should show ['Foo1','Foo2','F3Swap']
                // Overriding serializer does not have parent filters applied.
-               @RestMethod(name="GET", path="/test4", 
serializers=JsonSerializer.Simple.class, transforms=F3.class)
+               @RestMethod(name="GET", path="/test4", 
serializers=JsonSerializer.Simple.class, pojoSwaps=F3Swap.class)
                public Object[] test4() {
                        return new Object[]{new Foo1(), new Foo2(), new Foo3()};
                }
 
-               // Should show ['F1','F2','F3']
+               // Should show ['F1Swap','F2Swap','F3Swap']
                // Overriding serializer does have parent filters applied.
-               @RestMethod(name="GET", path="/test5", 
serializers=JsonSerializer.Simple.class, transforms=F3.class, 
serializersInherit=TRANSFORMS)
+               @RestMethod(name="GET", path="/test5", 
serializers=JsonSerializer.Simple.class, pojoSwaps=F3Swap.class, 
serializersInherit=TRANSFORMS)
                public Object[] test5() {
                        return new Object[]{new Foo1(), new Foo2(), new Foo3()};
                }
@@ -293,21 +293,21 @@ public class InheritanceResource extends RestServlet {
        public static class Foo2 {@Override public String toString(){return 
"Foo2";}}
        public static class Foo3 {@Override public String toString(){return 
"Foo3";}}
 
-       public static class F1 extends PojoSwap<Foo1,String> {
+       public static class F1Swap extends PojoSwap<Foo1,String> {
                @Override /* PojoSwap */
                public String swap(Foo1 o) throws SerializeException {
                        return "F1";
                }
        }
 
-       public static class F2 extends PojoSwap<Foo2,String> {
+       public static class F2Swap extends PojoSwap<Foo2,String> {
                @Override /* PojoSwap */
                public String swap(Foo2 o) throws SerializeException {
                        return "F2";
                }
        }
 
-       public static class F3 extends PojoSwap<Foo3,String> {
+       public static class F3Swap extends PojoSwap<Foo3,String> {
                @Override /* PojoSwap */
                public String swap(Foo3 o) throws SerializeException {
                        return "F3";

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java
 
b/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java
index 28a85bf..87b5bdd 100755
--- 
a/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java
+++ 
b/juneau-server-test/src/main/java/org/apache/juneau/server/MessagesResource.java
@@ -26,7 +26,7 @@ import org.apache.juneau.transform.*;
 @RestResource(
        path="/testMessages",
        messages="MessagesResource",
-       transforms={
+       pojoSwaps={
                MessagesResource.ResourceBundleSwap.class
        }
 )

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java 
b/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java
index d195704..b78640a 100755
--- 
a/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java
+++ 
b/juneau-server-test/src/main/java/org/apache/juneau/server/ParamsResource.java
@@ -107,7 +107,7 @@ public class ParamsResource extends RestServletDefault {
        }
 
        @Override /* RestServlet */
-       public Class<?>[] createTransforms() {
+       public Class<?>[] createPojoSwaps() {
                return new Class[]{CalendarSwap.Medium.class};
        }
 

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java
 
b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java
index f7db4d3..64fbcc6 100755
--- 
a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java
+++ 
b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsParentResource.java
@@ -18,7 +18,7 @@ import org.apache.juneau.server.annotation.*;
  * JUnit automated testcase resource.
  */
 @RestResource(
-       transforms={TransformsResource.SwapA1.class}
+       pojoSwaps={TransformsResource.SwapA1.class}
 )
 public class TransformsParentResource extends RestServletDefault {
        private static final long serialVersionUID = 1L;

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java
 
b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java
index 4301411..d44d544 100755
--- 
a/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java
+++ 
b/juneau-server-test/src/main/java/org/apache/juneau/server/TransformsResource.java
@@ -23,7 +23,7 @@ import org.apache.juneau.transform.*;
  */
 @RestResource(
        path="/testTransforms",
-       transforms={TransformsResource.SwapA2.class}
+       pojoSwaps={TransformsResource.SwapA2.class}
 )
 public class TransformsResource extends TransformsParentResource {
        private static final long serialVersionUID = 1L;
@@ -49,15 +49,15 @@ public class TransformsResource extends 
TransformsParentResource {
        // Test method transform overrides class transform
        // Should return "A3-1".
        
//====================================================================================================
-       @RestMethod(name="GET", 
path="/testMethodTransformOverridesClassTransform", transforms={SwapA3.class})
+       @RestMethod(name="GET", 
path="/testMethodTransformOverridesClassTransform", pojoSwaps={SwapA3.class})
        public A test2a() {
                return new A();
        }
-       @RestMethod(name="PUT", 
path="/testMethodTransformOverridesClassTransform", transforms={SwapA3.class})
+       @RestMethod(name="PUT", 
path="/testMethodTransformOverridesClassTransform", pojoSwaps={SwapA3.class})
        public A test2b(@Content A a) {
                return a;
        }
-       @RestMethod(name="PUT", 
path="/testMethodTransformOverridesClassTransform/{a}", 
transforms={SwapA3.class})
+       @RestMethod(name="PUT", 
path="/testMethodTransformOverridesClassTransform/{a}", 
pojoSwaps={SwapA3.class})
        public A test2c(@Attr A a) {
                return a;
        }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java
----------------------------------------------------------------------
diff --git 
a/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java 
b/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java
index 909000e..2bf3e7a 100755
--- a/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java
+++ b/juneau-server-test/src/test/java/org/apache/juneau/server/TestUtils.java
@@ -25,7 +25,7 @@ import junit.framework.*;
 public class TestUtils {
 
        private static JsonSerializer js2 = new JsonSerializer.Simple()
-               .addTransforms(IteratorSwap.class, EnumerationSwap.class);
+               .addPojoSwaps(IteratorSwap.class, EnumerationSwap.class);
 
        /**
         * Assert that the object equals the specified string after running it 
through JsonSerializer.DEFAULT_LAX.toString().

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java
----------------------------------------------------------------------
diff --git 
a/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java 
b/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java
index 358a0d5..1eb84df 100755
--- a/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java
+++ b/juneau-server/src/main/java/org/apache/juneau/server/RestServlet.java
@@ -99,7 +99,7 @@ public abstract class RestServlet extends HttpServlet {
        private UrlEncodingParser urlEncodingParser;
        private ObjectMap properties;
        private RestGuard[] guards;
-       private Class<?>[] transforms;
+       private Class<?>[] beanFilters, pojoSwaps;
        private RestConverter[] converters;
        private TreeMap<String,String> defaultRequestHeaders;
        private Map<String,Object> defaultResponseHeaders;
@@ -189,13 +189,14 @@ public abstract class RestServlet extends HttpServlet {
                        staticFilesPrefixes = 
staticFilesMap.keySet().toArray(new String[0]);
 
                        properties = createProperties();
-                       transforms = createTransforms();
+                       beanFilters = createBeanFilters();
+                       pojoSwaps = createPojoSwaps();
                        context = 
ContextFactory.create().setProperties(properties).getContext(RestServletContext.class);
-                       beanContext = createBeanContext(properties, transforms);
-                       urlEncodingSerializer = 
createUrlEncodingSerializer(properties, transforms).lock();
-                       urlEncodingParser = createUrlEncodingParser(properties, 
transforms).lock();
-                       serializers = createSerializers(properties, 
transforms).lock();
-                       parsers = createParsers(properties, transforms).lock();
+                       beanContext = createBeanContext(properties, 
beanFilters, pojoSwaps);
+                       urlEncodingSerializer = 
createUrlEncodingSerializer(properties, beanFilters, pojoSwaps).lock();
+                       urlEncodingParser = createUrlEncodingParser(properties, 
beanFilters, pojoSwaps).lock();
+                       serializers = createSerializers(properties, 
beanFilters, pojoSwaps).lock();
+                       parsers = createParsers(properties, beanFilters, 
pojoSwaps).lock();
                        converters = createConverters(properties);
                        encoders = createEncoders(properties);
                        guards = createGuards(properties);
@@ -400,22 +401,44 @@ public abstract class RestServlet extends HttpServlet {
        }
 
        /**
+        * Creates the class-level bean filters associated with this servlet.
+        * <p>
+        * Subclasses can override this method to provide their own class-level 
bean filters for this servlet.
+        * <p>
+        * By default, returns the bean filters specified through the {@link 
RestResource#beanFilters() @RestResource.beanFilters()} annotation in 
child-to-parent order.
+        *      (i.e. bean filters will be applied in child-to-parent order 
with child annotations overriding parent annotations when
+        *      the same filters are applied).
+        *
+        * @return The new set of transforms associated with this servet.
+        */
+       protected Class<?>[] createBeanFilters() {
+               List<Class<?>> l = new LinkedList<Class<?>>();
+
+               // Bean filters are loaded in parent-to-child order to allow 
overrides.
+               for (RestResource r : 
restResourceAnnotationsChildFirst.values())
+                       for (Class c : r.beanFilters())
+                               l.add(c);
+
+               return l.toArray(new Class<?>[l.size()]);
+       }
+
+       /**
         * Creates the class-level POJO swaps associated with this servlet.
         * <p>
         * Subclasses can override this method to provide their own class-level 
POJO swaps for this servlet.
         * <p>
-        * By default, returns the transforms specified through the {@link 
RestResource#transforms() @RestResource.transforms()} annotation in 
child-to-parent order.
-        *      (i.e. transforms will be applied in child-to-parent order with 
child annotations overriding parent annotations when
-        *      the same transforms are applied).
+        * By default, returns the transforms specified through the {@link 
RestResource#pojoSwaps() @RestResource.pojoSwaps()} annotation in 
child-to-parent order.
+        *      (i.e. POJO swaps will be applied in child-to-parent order with 
child annotations overriding parent annotations when
+        *      the same swaps are applied).
         *
         * @return The new set of transforms associated with this servet.
         */
-       protected Class<?>[] createTransforms() {
+       protected Class<?>[] createPojoSwaps() {
                List<Class<?>> l = new LinkedList<Class<?>>();
 
                // Transforms are loaded in parent-to-child order to allow 
overrides.
                for (RestResource r : 
restResourceAnnotationsChildFirst.values())
-                       for (Class c : r.transforms())
+                       for (Class c : r.pojoSwaps())
                                l.add(c);
 
                return l.toArray(new Class<?>[l.size()]);
@@ -427,12 +450,13 @@ public abstract class RestServlet extends HttpServlet {
         * Subclasses can override this method to provide their own specialized 
bean context.
         *
         * @param properties Servlet-level properties returned by {@link 
#createProperties()}.
-        * @param transforms Servlet-level transforms returned by {@link 
#createTransforms()}.
+        * @param beanFilters Servlet-level bean filters returned by {@link 
#createBeanFilters()}.
+        * @param pojoSwaps Servlet-level POJO swaps returned by {@link 
#createPojoSwaps()}.
         * @return The new bean context.
         * @throws Exception If bean context not be constructed for any reason.
         */
-       protected BeanContext createBeanContext(ObjectMap properties, 
Class<?>[] transforms) throws Exception {
-               return 
ContextFactory.create().addTransforms(transforms).setProperties(properties).getBeanContext();
+       protected BeanContext createBeanContext(ObjectMap properties, 
Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
+               return 
ContextFactory.create().addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps).setProperties(properties).getBeanContext();
        }
 
        /**
@@ -441,12 +465,13 @@ public abstract class RestServlet extends HttpServlet {
         * Subclasses can override this method to provide their own specialized 
serializer.
         *
         * @param properties Servlet-level properties returned by {@link 
#createProperties()}.
-        * @param transforms Servlet-level transforms returned by {@link 
#createTransforms()}.
+        * @param beanFilters Servlet-level bean filters returned by {@link 
#createBeanFilters()}.
+        * @param pojoSwaps Servlet-level POJO swaps returned by {@link 
#createPojoSwaps()}.
         * @return The new URL-Encoding serializer.
         * @throws Exception If the serializer could not be constructed for any 
reason.
         */
-       protected UrlEncodingSerializer createUrlEncodingSerializer(ObjectMap 
properties, Class<?>[] transforms) throws Exception {
-               return new 
UrlEncodingSerializer().setProperties(properties).addTransforms(transforms);
+       protected UrlEncodingSerializer createUrlEncodingSerializer(ObjectMap 
properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
+               return new 
UrlEncodingSerializer().setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
        }
 
        /**
@@ -455,12 +480,13 @@ public abstract class RestServlet extends HttpServlet {
         * Subclasses can override this method to provide their own specialized 
parser.
         *
         * @param properties Servlet-level properties returned by {@link 
#createProperties()}.
-        * @param transforms Servlet-level transforms returned by {@link 
#createTransforms()}.
+        * @param beanFilters Servlet-level bean filters returned by {@link 
#createBeanFilters()}.
+        * @param pojoSwaps Servlet-level POJO swaps returned by {@link 
#createPojoSwaps()}.
         * @return The new URL-Encoding parser.
         * @throws Exception If the parser could not be constructed for any 
reason.
         */
-       protected UrlEncodingParser createUrlEncodingParser(ObjectMap 
properties, Class<?>[] transforms) throws Exception {
-               return new 
UrlEncodingParser().setProperties(properties).addTransforms(transforms);
+       protected UrlEncodingParser createUrlEncodingParser(ObjectMap 
properties, Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
+               return new 
UrlEncodingParser().setProperties(properties).addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
        }
 
        /**
@@ -474,11 +500,12 @@ public abstract class RestServlet extends HttpServlet {
         *      and all parent classes.
         *
         * @param properties Servlet-level properties returned by {@link 
#createProperties()}.
-        * @param transforms Servlet-level transforms returned by {@link 
#createTransforms()}.
+        * @param beanFilters Servlet-level bean filters returned by {@link 
#createBeanFilters()}.
+        * @param pojoSwaps Servlet-level POJO swaps returned by {@link 
#createPojoSwaps()}.
         * @return The group of serializers.
         * @throws Exception If serializer group could not be constructed for 
any reason.
         */
-       protected SerializerGroup createSerializers(ObjectMap properties, 
Class<?>[] transforms) throws Exception {
+       protected SerializerGroup createSerializers(ObjectMap properties, 
Class<?>[] beanFilters, Class<?>[] pojoSwaps) throws Exception {
                SerializerGroup g = new SerializerGroup();
 
                // Serializers are loaded in parent-to-child order to allow 
overrides.
@@ -491,7 +518,7 @@ public abstract class RestServlet extends HttpServlet {
                                }
 
                g.setProperties(properties);
-               g.addTransforms(transforms);
+               g.addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
                return g;
        }
 
@@ -506,11 +533,12 @@ public abstract class RestServlet extends HttpServlet {
         *      and all parent classes.
         *
         * @param properties Servlet-level properties returned by {@link 
#createProperties()}.
-        * @param transforms Servlet-level transforms returned by {@link 
#createTransforms()}.
+        * @param beanFilters Servlet-level bean filters returned by {@link 
#createBeanFilters()}.
+        * @param pojoSwaps Servlet-level POJO swaps returned by {@link 
#createPojoSwaps()}.
         * @return The group of parsers.
         * @throws Exception If parser group could not be constructed for any 
reason.
         */
-       protected ParserGroup createParsers(ObjectMap properties, Class<?>[] 
transforms) throws Exception {
+       protected ParserGroup createParsers(ObjectMap properties, Class<?>[] 
beanFilters, Class<?>[] pojoSwaps) throws Exception {
                ParserGroup g = new ParserGroup();
 
                // Parsers are loaded in parent-to-child order to allow 
overrides.
@@ -523,7 +551,7 @@ public abstract class RestServlet extends HttpServlet {
                                }
 
                g.setProperties(properties);
-               g.addTransforms(transforms);
+               g.addBeanFilters(beanFilters).addPojoSwaps(pojoSwaps);
                return g;
        }
 
@@ -1859,7 +1887,7 @@ public abstract class RestServlet extends HttpServlet {
                                ArrayList<Inherit> si = new 
ArrayList<Inherit>(Arrays.asList(m.serializersInherit()));
                                ArrayList<Inherit> pi = new 
ArrayList<Inherit>(Arrays.asList(m.parsersInherit()));
 
-                               if (m.serializers().length > 0 || 
m.parsers().length > 0 || m.properties().length > 0 || m.transforms().length > 
0) {
+                               if (m.serializers().length > 0 || 
m.parsers().length > 0 || m.properties().length > 0 || m.beanFilters().length > 
0 || m.pojoSwaps().length > 0) {
                                        mSerializers = 
(si.contains(SERIALIZERS) || m.serializers().length == 0 ? mSerializers.clone() 
: new SerializerGroup());
                                        mParsers = (pi.contains(PARSERS) || 
m.parsers().length == 0 ? mParsers.clone() : new ParserGroup());
                                        mUrlEncodingParser = 
mUrlEncodingParser.clone();
@@ -1906,7 +1934,7 @@ public abstract class RestServlet extends HttpServlet {
                                if (m.serializers().length > 0) {
                                        mSerializers.append(m.serializers());
                                        if (si.contains(TRANSFORMS))
-                                               
mSerializers.addTransforms(getTransforms());
+                                               
mSerializers.addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps());
                                        if (si.contains(PROPERTIES))
                                                
mSerializers.setProperties(getProperties());
                                }
@@ -1914,7 +1942,7 @@ public abstract class RestServlet extends HttpServlet {
                                if (m.parsers().length > 0) {
                                        mParsers.append(m.parsers());
                                        if (pi.contains(TRANSFORMS))
-                                               
mParsers.addTransforms(getTransforms());
+                                               
mParsers.addBeanFilters(getBeanFilters()).addPojoSwaps(getPojoSwaps());
                                        if (pi.contains(PROPERTIES))
                                                
mParsers.setProperties(getProperties());
                                }
@@ -1930,10 +1958,16 @@ public abstract class RestServlet extends HttpServlet {
                                        }
                                }
 
-                               if (m.transforms().length > 0) {
-                                       
mSerializers.addTransforms(m.transforms());
-                                       mParsers.addTransforms(m.transforms());
-                                       
mUrlEncodingParser.addTransforms(m.transforms());
+                               if (m.beanFilters().length > 0) {
+                                       
mSerializers.addBeanFilters(m.beanFilters());
+                                       
mParsers.addBeanFilters(m.beanFilters());
+                                       
mUrlEncodingParser.addBeanFilters(m.beanFilters());
+                               }
+
+                               if (m.pojoSwaps().length > 0) {
+                                       
mSerializers.addPojoSwaps(m.pojoSwaps());
+                                       mParsers.addPojoSwaps(m.pojoSwaps());
+                                       
mUrlEncodingParser.addPojoSwaps(m.pojoSwaps());
                                }
 
                                if (m.encoders().length > 0 || ! 
m.inheritEncoders()) {
@@ -2445,7 +2479,7 @@ public abstract class RestServlet extends HttpServlet {
                                        if (o == null)
                                                o = req.getHeader(k);
                                }
-                               if (o instanceof String) 
+                               if (o instanceof String)
                                        o = 
req.getVarResolverSession().resolve(o.toString());
                                return o;
                        }
@@ -2501,14 +2535,25 @@ public abstract class RestServlet extends HttpServlet {
        }
 
        /**
+        * Returns the class-level bean filters associated with this servlet.
+        * <p>
+        * Created by the {@link #createBeanFilters()} method.
+        *
+        * @return The class-level bean filters associated with this servlet.
+        */
+       public Class<?>[] getBeanFilters() {
+               return beanFilters;
+       }
+
+       /**
         * Returns the class-level POJO swaps associated with this servlet.
         * <p>
-        * Created by the {@link #createTransforms()} method.
+        * Created by the {@link #createPojoSwaps()} method.
         *
-        * @return The class-level guards associated with this servlet.
+        * @return The class-level POJO swaps associated with this servlet.
         */
-       public Class<?>[] getTransforms() {
-               return transforms;
+       public Class<?>[] getPojoSwaps() {
+               return pojoSwaps;
        }
 
        /**
@@ -2570,7 +2615,7 @@ public abstract class RestServlet extends HttpServlet {
        /**
         * Returns the serializer group containing serializers used for 
serializing output POJOs in HTTP responses.
         * <p>
-        * Created by the {@link #createSerializers(ObjectMap, Class[])} method.
+        * Created by the {@link #createSerializers(ObjectMap, Class[], 
Class[])} method.
         *
         * @return The group of serializers.
         */
@@ -2581,7 +2626,7 @@ public abstract class RestServlet extends HttpServlet {
        /**
         * Returns the parser group containing parsers used for parsing input 
into POJOs from HTTP requests.
         * <p>
-        * Created by the {@link #createParsers(ObjectMap, Class[])} method.
+        * Created by the {@link #createParsers(ObjectMap, Class[], Class[])} 
method.
         *
         * @return The group of parsers.
         */
@@ -2592,7 +2637,7 @@ public abstract class RestServlet extends HttpServlet {
        /**
         * Returns the URL-encoding parser used for parsing URL query 
parameters.
         * <p>
-        * Created by the {@link #createUrlEncodingParser(ObjectMap, Class[])} 
method.
+        * Created by the {@link #createUrlEncodingParser(ObjectMap, Class[], 
Class[])} method.
         *
         * @return The URL-Encoding parser to use for parsing URL query 
parameters.
         */
@@ -2603,7 +2648,7 @@ public abstract class RestServlet extends HttpServlet {
        /**
         * Returns the URL-encoding serializer used for serializing arguments 
in {@link Redirect} objects.
         * <p>
-        * Created by the {@link #createUrlEncodingSerializer(ObjectMap, 
Class[])} method.
+        * Created by the {@link #createUrlEncodingSerializer(ObjectMap, 
Class[], Class[])} method.
         *
         * @return The URL-Encoding serializer.
         */
@@ -2625,7 +2670,7 @@ public abstract class RestServlet extends HttpServlet {
        /**
         * Returns the {@link BeanContext} object used for parsing path 
variables and header values.
         * <p>
-        * Created by the {@link #createBeanContext(ObjectMap, Class[])} method.
+        * Created by the {@link #createBeanContext(ObjectMap, Class[], 
Class[])} method.
         *
         * @return The bean context used for parsing path variables and header 
values.
         */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java
----------------------------------------------------------------------
diff --git 
a/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java 
b/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java
index de0f6ac..7173b27 100755
--- 
a/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java
+++ 
b/juneau-server/src/main/java/org/apache/juneau/server/annotation/Inherit.java
@@ -26,7 +26,7 @@ public enum Inherit {
        /** Inherit parsers from parent. */
        PARSERS,
 
-       /** Inherit transforms from parent. */
+       /** Inherit bean filters and POJO swaps from parent. */
        TRANSFORMS,
 
        /** Inherit properties from parent. */

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java
----------------------------------------------------------------------
diff --git 
a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java
 
b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java
index 7672f9e..912b70f 100755
--- 
a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java
+++ 
b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestMethod.java
@@ -236,9 +236,14 @@ public @interface RestMethod {
        Property[] properties() default {};
 
        /**
-        * Appends the specified transforms to all serializers and parsers used 
by this method.
+        * Appends the specified bean filters to all serializers and parsers 
used by this method.
         */
-       Class<?>[] transforms() default {};
+       Class<?>[] beanFilters() default {};
+
+       /**
+        * Appends the specified POJO swaps to all serializers and parsers used 
by this method.
+        */
+       Class<?>[] pojoSwaps() default {};
 
        /**
         * Possible HTTP response codes from this method.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java
----------------------------------------------------------------------
diff --git 
a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java
 
b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java
index 7936682..cece441 100755
--- 
a/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java
+++ 
b/juneau-server/src/main/java/org/apache/juneau/server/annotation/RestResource.java
@@ -89,20 +89,35 @@ public @interface RestResource {
        Class<? extends RestConverter>[] converters() default {};
 
        /**
-        * Class-level POJO filters.
+        * Class-level bean filters.
         * <p>
-        * Shortcut to add POJO filters to the bean contexts of the objects 
returned by the following methods:
+        * Shortcut to add bean filters to the bean contexts of the objects 
returned by the following methods:
         * <ul>
         *      <li>{@link RestServlet#getBeanContext()}
         *      <li>{@link RestServlet#getSerializers()}
         *      <li>{@link RestServlet#getParsers()}
         * </ul>
         * <p>
-        * If the specified class is an instance of {@link Transform}, then 
that filter is added.
-        * Any other classes are wrapped in a {@link BeanFilter} to indicate 
that subclasses should
+        * If the specified class is an instance of {@link BeanFilter}, then 
that filter is added.
+        * Any other classes are wrapped in a {@link InterfaceBeanFilter} to 
indicate that subclasses should
         *      be treated as the specified class type.
         */
-       Class<?>[] transforms() default {};
+       Class<?>[] beanFilters() default {};
+
+       /**
+        * Class-level POJO swaps.
+        * <p>
+        * Shortcut to add POJO swaps to the bean contexts of the objects 
returned by the following methods:
+        * <ul>
+        *      <li>{@link RestServlet#getBeanContext()}
+        *      <li>{@link RestServlet#getSerializers()}
+        *      <li>{@link RestServlet#getParsers()}
+        * </ul>
+        * <p>
+        * If the specified class is an instance of {@link PojoSwap}, then that 
swap is added.
+        * Any other classes are wrapped in a {@link SurrogateSwap}.
+        */
+       Class<?>[] pojoSwaps() default {};
 
        /**
         * Class-level properties.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java
----------------------------------------------------------------------
diff --git 
a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java 
b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java
index 576ae67..45d170a 100755
--- 
a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java
+++ 
b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/BaseProvider.java
@@ -50,8 +50,10 @@ public class BaseProvider implements 
MessageBodyReader<Object>, MessageBodyWrite
                        parsers.append(jp.parsers());
                        for (Property p : jp.properties())
                                properties.put(p.name(), p.value());
-                       serializers.addTransforms(jp.transforms());
-                       parsers.addTransforms(jp.transforms());
+                       serializers.addBeanFilters(jp.beanFilters());
+                       parsers.addBeanFilters(jp.beanFilters());
+                       serializers.addPojoSwaps(jp.pojoSwaps());
+                       parsers.addPojoSwaps(jp.pojoSwaps());
                } catch (Exception e) {
                        throw new RuntimeException(e);
                }

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java
----------------------------------------------------------------------
diff --git 
a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java
 
b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java
index a1ea139..ba160ec 100755
--- 
a/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java
+++ 
b/juneau-server/src/main/java/org/apache/juneau/server/jaxrs/JuneauProvider.java
@@ -43,15 +43,25 @@ import org.apache.juneau.xml.*;
 public @interface JuneauProvider {
 
        /**
-        * Provider-level POJO filters.
+        * Provider-level bean filters.
         * <p>
         *      These filters are applied to all serializers and parsers being 
used by the provider.
         * <p>
-        *      If the specified class is an instance of {@link Transform}, 
then that filter is added.
-        *      Any other classes are wrapped in a {@link BeanFilter} to 
indicate that subclasses should
+        *      If the specified class is an instance of {@link BeanFilter}, 
then that filter is added.
+        *      Any other classes are wrapped in a {@link InterfaceBeanFilter} 
to indicate that subclasses should
         *              be treated as the specified class type.
         */
-       Class<?>[] transforms() default {};
+       Class<?>[] beanFilters() default {};
+
+       /**
+        * Provider-level POJO swaps.
+        * <p>
+        *      These POJO swaps are applied to all serializers and parsers 
being used by the provider.
+        * <p>
+        *      If the specified class is an instance of {@link PojoSwap}, then 
that swap is added.
+        *      Any other classes are wrapped in a {@link SurrogateSwap}.
+        */
+       Class<?>[] pojoSwaps() default {};
 
        /**
         * Provider-level properties.

http://git-wip-us.apache.org/repos/asf/incubator-juneau/blob/d8724071/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java
----------------------------------------------------------------------
diff --git 
a/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java
 
b/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java
index ef46926..badd96e 100755
--- 
a/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java
+++ 
b/juneau-server/src/main/java/org/apache/juneau/server/labels/ResourceOptions.java
@@ -25,7 +25,7 @@ import org.apache.juneau.server.annotation.*;
  * <p>
  * @author James Bognar ([email protected])
  */
-@Bean(properties={"label","description","className","methods","children","consumes","produces","guards","transforms","converters"})
+@Bean(properties={"label","description","className","methods","children","consumes","produces","guards","converters"})
 public class ResourceOptions {
        private String label, description;
        private String className;
@@ -33,7 +33,6 @@ public class ResourceOptions {
        private ChildResourceDescriptions children;
        private Collection<String> consumes, produces;
        private Collection<String> guards;
-       private Collection<String> transforms;
        private Collection<String> converters;
 
        /**
@@ -51,7 +50,6 @@ public class ResourceOptions {
                        setProduces(servlet.getSupportedContentTypes());
                        setChildren(new ChildResourceDescriptions(servlet, 
req));
                        setGuards(servlet.getGuards());
-                       setTransforms(servlet.getTransforms());
                        setConverters(servlet.getConverters());
                } catch (RestServletException e) {
                        throw new RestException(SC_INTERNAL_SERVER_ERROR, e);
@@ -223,36 +221,6 @@ public class ResourceOptions {
        }
 
        /**
-        * Returns the list of class-wide transforms associated with this 
resource (typically through {@link RestResource#transforms()} annotation).
-        * @return The simple class names of the transforms.
-        */
-       public Collection<String> getTransforms() {
-               return transforms;
-       }
-
-       /**
-        * Sets the simple class names of the transforms associated with this 
resource.
-        * @param transforms The simple class names of the transforms.
-        * @return This object (for method chaining).
-        */
-       public ResourceOptions setTransforms(Collection<String> transforms) {
-               this.transforms = transforms;
-               return this;
-       }
-
-       /**
-        * Shortcut for calling {@link #setTransforms(Collection)} from {@link 
Class} instances.
-        * @param transforms Transform classes associated with this resource.
-        * @return This object (for method chaining).
-        */
-       public ResourceOptions setTransforms(Class<?>[] transforms) {
-               Collection<String> l = new ArrayList<String>(transforms.length);
-               for (Class<?> c : transforms)
-                       l.add(c.getSimpleName());
-               return setTransforms(l);
-       }
-
-       /**
         * Returns the list of class-wide converters associated with this 
resource (typically through {@link RestResource#converters()} annotation).
         * @return The simple class names of the converters.
         */

Reply via email to